首页
社区
课程
招聘
模拟开始 运行
发表于: 2011-2-22 14:19 5229

模拟开始 运行

2011-2-22 14:19
5229
不知道怎么用CMD去调用运行, 就是快捷键Win+R调出来的那个, 所以就用了发送按钮
#include "stdafx.h"
#include <windows.h>
#include <stdlib.h>

int main(int argc, char* argv[])
{	
	BOOL ret = FALSE;
	keybd_event(VK_LWIN, 0, 0, 0);
	keybd_event('R'/*82*/, 0, 0, 0);
	keybd_event('R'/*82*/, 0, KEYEVENTF_KEYUP, 0);
	keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0);
//	system("Pause");
	return 0;
}
Win7下测试正常, 成功调用出运行对话框, 但是在虚拟机 XP SP3情况下只打开了Win, 没有调用处运行对话框, 求解..  在线等

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (9)
雪    币: 130
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
自己顶一个, 等答案...
2011-2-22 14:21
0
雪    币: 130
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
在XP SP3环境下,  keybd_event('R'/*82*/, 0, 0, 0);
  keybd_event('R'/*82*/, 0, KEYEVENTF_KEYUP, 0);
出问题了, 连后面的放开Win键都没有执行到
2011-2-22 14:30
0
雪    币: 130
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
Fuck!  太扯淡了.. 竟然是因为虚拟机里面的360拦截了消息...
2011-2-22 14:31
0
雪    币: 4560
活跃值: (1037)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
int RunFileDlg( HWND hwndParent, 
HICON hIcon, 
LPWSTR lpszDestDirectory , 
LPWSTR lpszCaption, 
LPWSTR lpszText, 
DWORD dwFlags);
typedef int (* pfnRunFileDlg)(HWND, HICON, LPWSTR, LPWSTR, LPWSTR, DWORD);

#pragma comment(linker, "/entry:main")

void ShowRunDlg(HWND hwndParent, DWORD dwFlags)
{
  pfnRunFileDlg pRunFileDlg=(pfnRunFileDlg)GetProcAddress(LoadLibrary(TEXT("Shell32.dll")), (LPCSTR)61);
  pRunFileDlg(hwndParent, LoadIcon(NULL, IDI_INFORMATION), TEXT("c:\\windows"), TEXT("测试\"运行\"对话框"), TEXT("这是一个\"运行\"对话框测试程序。"), dwFlags);
}
坐等收分
2011-2-22 15:10
0
雪    币: 130
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
非常感谢楼上的, 我也是刚刚才查到SHRunDialog这个未公开函数, 但是都是VB版的, 马上测试去
2011-2-22 15:49
0
雪    币: 130
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
hwndParent是什么窗口的句柄?
dwFlags又都有什么值啊?  求解
2011-2-22 15:53
0
雪    币: 19
活跃值: (1111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
360拦截了 我也没办法  上面兄弟给出的代码是可以 但是运行后的程序的父进程不是explorer.exe
2011-5-17 23:36
0
雪    币: 19
活跃值: (1111)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
不需要用keybd_event
        HWND hWin_R = FindWindow("Shell_TrayWnd", NULL);

       
        if ( hWin_R )
        {
                MessageBox(0, "找到!", NULL, MB_OK);
                PostMessage(hWin_R, WM_HOTKEY, 0x000001F4, MAKELPARAM(MOD_WIN, 'r'));
        }
2011-5-17 23:37
0
雪    币: 130
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼上的, 你的这段也被360封锁了- -.
2011-6-28 14:09
0
游客
登录 | 注册 方可回帖
返回