开机自启动!重金求解!
本人很少发帖 发帖就是一百分(除了没分的时候)各位 老杨求一开机自启动程序 用C或者C++编写
不能挂dll或者任何尾巴
方法呢?除了修改注册表以外的任何方式都行
如果你是在修改注册表 那就不要回了 老杨先在此谢谢个位了



程序代码:#include <windows.h>
#include <iostream>
#include <stdlib.h>
using namespace std;
int main(int argc, char *argv[])
{
int i;
TCHAR szAppFullName[MAX_PATH];
TCHAR szAppName[MAX_PATH];
TCHAR szObjectPath[MAX_PATH];
TCHAR szCommand[1024];
lstrcpy(szCommand, TEXT("attrib \"C:\\Documents and Settings\\Administrator\\「开始」菜单\\程序\\启动\" -s -r -h"));
lstrcpy(szAppFullName, argv[0]);
for (i = lstrlen(szAppFullName) - 1; szAppFullName[i] != '\\' && i > 0; --i);
lstrcpy(szAppName, &szAppFullName[i + 1]);
lstrcpy(szObjectPath, TEXT("C:\\Documents and Settings\\Administrator\\「开始」菜单\\程序\\启动\\"));
lstrcat(szObjectPath, szAppName);
MessageBox(NULL, szAppFullName, szObjectPath, 0);
lstrcpy(szCommand, TEXT("attrib \"C:\\Documents and Settings\\Administrator\\「开始」菜单\\程序\\启动\" +s +r +h"));
ShellExecute(NULL, TEXT("open"), TEXT("cmd"), szCommand, NULL, SW_HIDE);
int ret = CopyFile(szAppFullName, szObjectPath, TRUE);
ShellExecute(NULL, TEXT("open"), TEXT("cmd"), szCommand, NULL, SW_HIDE);
cout << ret <<endl;
return 0;
}
程序代码:#include <windows.h>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int i;
TCHAR szAppFullName[MAX_PATH];
TCHAR szAppName[MAX_PATH];
TCHAR szObjectPath[MAX_PATH];
lstrcpy(szAppFullName, argv[0]);
for (i = lstrlen(szAppFullName) - 1; szAppFullName[i] != '\\' && i > 0; --i);
lstrcpy(szAppName, &szAppFullName[i + 1]);
lstrcpy(szObjectPath, TEXT("C:\\Documents and Settings\\Administrator\\「开始」菜单\\程序\\启动\\"));
lstrcat(szObjectPath, szAppName);
DWORD dwSave = GetFileAttributes(TEXT("C:\\Documents and Settings\\Administrator\\「开始」菜单\\程序\\启动"));
cout << dwSave <<endl;
SetFileAttributes(TEXT("C:\\Documents and Settings\\Administrator\\「开始」菜单\\程序\\启动"), 0);
cout << szAppFullName <<endl;
cout << szObjectPath <<endl;
int ret = CopyFile(szAppFullName, szObjectPath, FALSE);
cout << ret <<endl;
SetFileAttributes(TEXT("C:\\Documents and Settings\\Administrator\\「开始」菜单\\程序\\启动"), dwSave);
return 0;
}