The Grimoire of Nonsense

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

Firefoxの.sqliteを最適化(?)する

sqlite3.exeにvacuumオプション渡した奴とreindex渡した奴に.sqliteを食わせると最適化できるらしい。
一応バッチファイルを書いてみました……(小声)
きっとFirefox以外の.sqliteにも使える筈。

@echo off

for /r %%i in ( *.sqlite ) do (
	echo %%i vacuum
	sqlite3 %%i vacuum
	
	echo %%i reindex
	sqlite3 %%i reindex
)

pause

.exeが依存するDLLを調べる

.exeが実行する時に暗黙的リンクされているDLLが見つからないと実行出来ない*1
暗黙的リンクされている.exeのDLLを列挙する時はやっぱりdumpbin先生に/dependentsオプションを指定して食わせてみる。
あとは不足DLLを用意するなりする。

dumpbin /dependents (調べたいexeファイル)


以下実行例

*1:なんとか.dllが見つからないため――的な文言が表示される

続きを読む

Adobe Acrobat DCのMobile Linkを無効にする

バージョンアップしてから何かと鬱陶しいAcrobat Reader DCだが、以下のテキストを.regで保存し、
レジストリに追加すればMobile Linkが無効になり、ポップアップも表示されなくなる。
また、OSが32bit版か64bit版かで適用するファイルが違う点にも注意。
一応、Windows 8.1(x64)で表示されなくなることを確認。
レジストリエディタを使う場合は下記の参考元を参照してください。


32bit用

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Adobe\Acrobat Reader\DC\FeatureLockDown\cServices]
"bToggleAdobeDocumentServices"=dword:00000001


64bit用

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Policies\Adobe\Acrobat Reader\DC\FeatureLockDown\cServices]
"bToggleAdobeDocumentServices"=dword:00000001


※この記事は以下を参考に執筆させていただきました。
Acrobat | Document Cloud メニューおよび Mobile Link 機能を無効にする方法(Acrobat/Acrobat Reader DC)

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

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

HKEY hKey = nullptr;

RegOpenKeyEx( HKEY_CURRENT_USER, TEXT( "Software\\..." ), 0, KEY_READ | KEY_WOW64_64KEY, &hKey );


/* ... */


RegCloseKey( hKey );


sx1752.hateblo.jp

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

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


以下僕が書いたサンプルコード

*1:MSDNにドキュメントないし……。

続きを読む