请问怎么向的dos窗口传递消息 比如说我现在打开了一个vc程序,现在也打开了一个dos窗口,我怎么样才能在vc中像dos窗口中输入命令,我的思路是先激活dos窗口,然后再模拟键盘,可是不知道怎么实现,有人能给个代码,或者提供个函数吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //我怎么样才能在vc中像dos窗口中输入命令? 还是向啊 基于UDP的socket连接通信应该可以 我觉得可以先用什么函数将制定的程序(dos)窗口激活,让后再模拟键盘按键 小弟有个思路不知道对否, 用GetStdHandle()获得控制台句柄,然后用WriteConsoleInput "writes data directly to the console input buffer"BOOL WriteConsoleInput( HANDLE hConsoleInput, const INPUT_RECORD* lpBuffer, DWORD nLength, LPDWORD lpNumberOfEventsWritten);typedef struct _INPUT_RECORD { WORD EventType; union { KEY_EVENT_RECORD KeyEvent; MOUSE_EVENT_RECORD MouseEvent; WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent; MENU_EVENT_RECORD MenuEvent; FOCUS_EVENT_RECORD FocusEvent; } Event;} INPUT_RECORD; 模拟键盘用keybd_event,不过这个函数已经被SendInput函数取代。此外,也可以考虑用FindWindow找出控制台窗口,然后SendMessage。 回复:aca_jingru 你的方法我看可以,但是参数设置专门弄,我对这个也是不怎么熟悉,刚学,呵呵 如:HANDLE jack;jack=GetStdHandle("C:\WINDOWS\system32\cmd.exe");WriteConsoleInput(jack,×,×,×)打×的地方应该写什么东西。请教了回复:cnzdgs 你的方法我想过,但是实现上有点困难,高手,能给个示例让我模仿下吗。谢谢 http://www.99inf.net/SoftwareDev/VC/28302.htm 一段看了就晕的代码 强求《Visual C++工程应用与项目实践》 电子书及源码? [求助]CListBox AddString() 函数的问题 如何根据数据文件绘制位图 真的没办法吗? 如何让DBGRID之类的控件作为一个VIEW使用?(有回答就给分) 如何将一个wstring类型的串输出到文件中 一个钩子函数捕获输入并朗读的程序问题 最后25分了,gdi+图像旋转的问题 大家帮忙看看吧 写数据库时为什么内存释放不干净 如何锁定ListCtr的 最后一列的列宽 setwindowtext设置对话框caption怎么不显示
"writes data directly to the console input buffer"BOOL WriteConsoleInput(
HANDLE hConsoleInput,
const INPUT_RECORD* lpBuffer,
DWORD nLength,
LPDWORD lpNumberOfEventsWritten
);typedef struct _INPUT_RECORD {
WORD EventType;
union { KEY_EVENT_RECORD KeyEvent;
MOUSE_EVENT_RECORD MouseEvent;
WINDOW_BUFFER_SIZE_RECORD WindowBufferSizeEvent;
MENU_EVENT_RECORD MenuEvent;
FOCUS_EVENT_RECORD FocusEvent; }
Event;
} INPUT_RECORD;
此外,也可以考虑用FindWindow找出控制台窗口,然后SendMessage。
如:
HANDLE jack;
jack=GetStdHandle("C:\WINDOWS\system32\cmd.exe");
WriteConsoleInput(jack,×,×,×)打×的地方应该写什么东西。请教了回复:cnzdgs
你的方法我想过,但是实现上有点困难,高手,能给个示例让我模仿下吗。谢谢