VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 502|回复: 2

[求助] c++问题

[复制链接]
17_avatar_middle
在线会员 发表于 2016-8-5 02:24:19 | 显示全部楼层 |阅读模式
10驿站币
本帖最后由 3699847 于 2016-8-5 10:55 编辑

C++如何调用这个程序去运行我释放出来到C盘目录下的文件呢?求源码一份 跪求了 想了两天一点门路也没有

123.png




上一篇:关于DLL注入问题!
下一篇:列表背景色怎么跟随表项的变化
51_avatar_middle
online_admins 发表于 2016-8-5 10:44:30 | 显示全部楼层
其实要运行程序的话不一定非得调用系统的运行对话框,现成的 API 有好几个,CreateProcess、ShellExecute 等等。
如果非要调用运行对话框也不是不行!

Shell32.dll里有一个未公开的API,无函数名,序号为61,可以显示定制的运行对话框,
字符集要设成Unicode,否则可能会是乱码。

  1. /**************************************************************************************
  2. * 函数名称 : ShowMyRunDlg(...)
  3. * 功能描述 : 显示定制的运行对话框
  4. * 入  参   : HWND   hWndOwner,        //所有者窗口句柄
  5.               HICON  hIcon,            //要显示的图标句柄
  6.               PTCHAR pszDirectory,     //“浏览”按钮的目录,该目录下的文件可省略路径
  7.               PTCHAR pszTitle,         //窗口标题的文字
  8.               PTCHAR pszDescription,   //窗口上的文本描述
  9.               UINT   nFlags            //样式
  10. * 出  参   : 无
  11. * 返回值   : -1 失败  0 成功
  12. * 作  者   : 一剑
  13. * 创建日期 : 2012/07/31
  14. * 处理说明 : 显示定制的运行对话框
  15. *************************************************************************************/
  16. BOOL ShowMyRunDlg(HWND hWndOwner, HICON hIcon, PTCHAR pszDirectory,
  17.         PTCHAR pszTitle, PTCHAR pszDescription, UINT nFlags)
  18. {
  19.     /* 声明未公开的API函数原型,函数名称可任意指定 */
  20.     typedef void (CALLBACK *lpfnRunDlg)(HWND, HICON, PTCHAR, PTCHAR, PTCHAR, UINT);

  21.     HMODULE hModule = LoadLibrary(TEXT("Shell32.dll"));
  22.     if(hModule != NULL)
  23.     {
  24.         lpfnRunDlg RunDlg = (lpfnRunDlg)GetProcAddress(hModule, (LPCSTR)MAKEINTRESOURCE(61));
  25.         RunDlg(hWndOwner, hIcon, pszDirectory, pszTitle, pszDescription, nFlags);
  26.         FreeLibrary(hModule);
  27.         return TRUE;
  28.     }
  29.     return FALSE;
  30. }
复制代码



调用方法示例:

  1.      ShowMyRunDlg(hwnd, LoadIcon(hAppInstance, MAKEINTRESOURCE(IDI_MAIN_ICON)),
  2.         TEXT("C:\"), TEXT("窗口标题的文字"), TEXT("窗口上的文本描述"),
  3.         WS_POPUPWINDOW|WS_VISIBLE|WS_CLIPSIBLINGS|WS_DLGFRAME|WS_OVERLAPPED|
  4.         DS_3DLOOK|DS_FIXEDSYS|DS_SETFONT|DS_MODALFRAME|DS_NOIDLEMSG);
复制代码
17_avatar_middle
ico_lz  楼主| 发表于 2016-8-5 10:54:54 | 显示全部楼层
我是想直接用那个去写
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-7-19 23:27

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表