The Grimoire of Nonsense

個人的なメモを残すブログ

WindowsAPI

IEの「閲覧の履歴の削除」ダイアログを呼び出す

すっっっっっっっっっっっっごくどうでもいいけど、IEの履歴を削除するあのダイアログを呼び出す方法。 inetcpl.cplの中のShowDeleteBrowsingHistoryDialog()にウィンドウハンドルを渡して呼べばあのダイアログが出る。以下サンプルプログラム #include <cstdio> #in</cstdio>…

Wow6432Nodeを無視してレジストリを開く(Windows API用)

前に.NET Framework用Wow6432Nodeの無視の仕方を書いたけど、今度はC++とWindows APIで。 RegOpenKeyEx()を呼び出すときに引数samDesired(第4引数)にAND演算子で「KEY_WOW64_64KEY」を追加するだけ。 HKEY hKey = nullptr; RegOpenKeyEx( HKEY_CURRENT_USER,…

DNSリゾルバキャッシュをクリアする

ipconfigコマンドならipconfig /flushdnsからクリアできるリゾルバキャッシュをAPIから削除する時は、 DnsAPI.dllのDnsFlushResolverCache()を用いる。 この関数、どうやら非公開っぽい*1ので直接DnsAPI.dllからLoadLibrary()してGetProcAddress()する方向で…

イベントログと戦う

Vista以降で追加されたAPIでイベントログの数を調べつつ1件以上データがあればクリアするように書きたい(切望) 有効か無効か調べないとどうも正しい件数が取得できないのかな? その辺で苦戦してる。※以下駄文は管理者として動かす必要があります。 ※あんま…

イベントログを一括で削除する

イベントログをいちいち手で消すのは面倒なので一括でクリアするときのメモ。 レジストリの HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog と HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels に登録され…