0

Windows用のネイティブプログラムを実行しました。

(これ、私は#pragma comment(linker, "/SUBSYSTEM:NATIVE"))でコンパイルしました。

プログラムを自動実行リストに追加したいのですが、どうすればよいですか?

私の正確な質問は次のとおりです。

1)。Windowsレジストリでそれを行うにはどうすればよいですか(BootExecute / SetupExecuteテーブルについてグーグルで検索しましたが、Setupは空で、BootExecuteには* autocheck autochk **しかありません)。だから私は空のテーブルと混同されました(原因、それが空の場合、Windowsの別の自動実行プログラムはどこにありますか?ntdll.dllはロードしますか?)

2)。実行可能プログラムのバージョンは重要ですか:32/64ビットシステムの場合

%windir%\ system32に配置しましたが、 %windir%\WOW64フォルダーもあります。

レジストリでこの詳細を強調表示するか、Windowsが両方のフォルダーから各ドライバーをロードし、taskmgrで* 32ビットまたは64ビットのプログラムとして強調表示する必要がありますか?

3)。それを行う他の方法はありますか?

4

1 に答える 1

2

1) BootExecute レジストリ値に配置する必要があります。これは複数文字列の値であり、既存の文字列 (通常は "autocheck autochk *" のみ) を保持し、拡張子なしでプログラム名を追加する必要があります。

2) 32 ビット OS の場合は 32 ビット バイナリをコンパイルし、64 ビット OS の場合は 64 ビット バイナリをコンパイルする必要があります。バイナリは %windir%\system32 に配置する必要があります

3) 私が知る限り、それが唯一の方法です

PS - たとえば、ブート デフラグ機能を備えたファイル システムまたはレジストリ デフラグ ツールをインストールして有効にし、BootExecute がどのように変更されるかを確認します。

于 2012-04-16T02:42:02.527 に答える