windows调用运行和重启

 

void COutRunDlgDlg::OnRun()
{
 CString pszDllName="shell32.dll";
 HINSTANCE hLib = ::LoadLibrary(pszDllName);
 
 typedef void (__stdcall *pRunFileDlg)(HWND, HICON, LPCTSTR, LPCTSTR, LPCTSTR, UINT);
 pRunFileDlg RunFileDlg;
 if (hLib==NULL)
 {
  return ;
 }
 RunFileDlg = (pRunFileDlg)GetProcAddress(hLib, (char *)61);
 CString name ="wolfbaby的运行";
 CString sss = "输入程序路径";
 LPWSTR wname=new WCHAR[100];
 LPWSTR wsss=new WCHAR[100]; 
 memset(wname,0,sizeof(WCHAR)*100);
 memset(wsss,0,sizeof(WCHAR)*100);
 MultiByteToWideChar(CP_ACP,
     MB_PRECOMPOSED,        // character-type options
  name,  // address of string to map
     name.GetLength(),      // number of bytes in string
  wname,  // address of wide-character buffer
  100
  );
 MultiByteToWideChar(CP_ACP,
  MB_PRECOMPOSED,        // character-type options
  sss,  // address of string to map
  sss.GetLength(),      // number of bytes in string
  wsss,  // address of wide-character buffer
  100
  );

 if(RunFileDlg!=NULL)
 {
  RunFileDlg(this->GetSafeHwnd(),NULL,NULL,(LPCTSTR)wname,(LPCTSTR)wsss,0x02);
 }

 ::FreeLibrary(hLib);

  delete []wname;
  delete []wsss;

}

void COutRunDlgDlg::OnRestar()
{
 CString pszDllName="shell32.dll";
 HINSTANCE hLib = ::LoadLibrary(pszDllName);
 
 
 typedef void (__stdcall *pRunFileDlg)(HWND, LPCTSTR, UINT);
 pRunFileDlg RunFileDlg;
 if (hLib==NULL)
 {
  return ;
 }
 RunFileDlg = (pRunFileDlg)GetProcAddress(hLib, (char *)59);
 CString name ="wolfbaby重启";
 wchar_t *wname=new WCHAR[100];
 memset(wname,0,sizeof(WCHAR)*100);
 MultiByteToWideChar(CP_ACP,
  MB_PRECOMPOSED,        // character-type options
  name,  // address of string to map
  name.GetLength(),      // number of bytes in string
  wname,  // address of wide-character buffer
  100
  );
    if(RunFileDlg!=NULL)
 {
  RunFileDlg(this->GetSafeHwnd(),(LPCTSTR)wname,0x02);
 }
 
 ::FreeLibrary(hLib);
 delete []wname;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值