c言語プログラム起動自起動

1375 ワード

暇がなくて、c言語のウィルスを研究して、ちょうど電源を入れてから起動することに関連して、ついにこの文章を書いてN多資料とGoogleを調べた後にやっとc言語の電源を入れてから起動する実現を完成しました(ツッコミ:ネット上の文章は本当に“瓜皮”で、bug奇多)
原理:windowsの起動はレジストリを取得して、その中の1つがあります
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunは、マイクロソフト定義のブートプログラム検索テーブルwindows api関数を使用してレジストリを変更することでブートイニシエータを実現します
手動で実現します.1、スタートをクリックします.実行します.regeditを入力してレジストリを開きます.2、「HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun」を見つけます.開いたら、右クリックして新規-文字列値を作成し、任意の名前を入力します.名前-修正を右クリックします.「数値データ」バーで、自動的に起動するアプリケーション・ファイルが存在する完全なパスのファイル名を入力します.
仕事はあまり言わないで,コードをつけなさい.
次のヘッダファイルが必要です
	#include 
	#include 

関数のトピックは次のとおりです.
void HKRunator(char *programName)   //    (**   **)
{
	HKEY hkey = NULL;
	DWORD rc;

	rc = RegCreateKeyEx(HKEY_LOCAL_MACHINE,                      //        ,           
		"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
		0,
		NULL,
		REG_OPTION_NON_VOLATILE,
		KEY_WOW64_64KEY | KEY_ALL_ACCESS,    //  windows         ,    “”KEY_WOW64_64KEY | “”   
		NULL,
		&hkey,
		NULL);

	if (rc == ERROR_SUCCESS)   
	{
		rc = RegSetValueEx(hkey, 
			"UStealer",
			0,
			REG_SZ,
			(const BYTE *)programName,
			strlen(programName));
		if (rc == ERROR_SUCCESS)
		{
			RegCloseKey(hkey);
		}
	}
}

この関数を呼び出す必要がある場合は、プログラムのフルパス名を入力します.