说明:这是一个 "特霸道" 的俄国软件(DOS下), 我现在用 vb 想模拟键盘 上下左右键与回车等 控制它的菜单。全屏的软件 找不到句柄, 它遮挡住一个同步运行的黑屏的DOS小窗口 mdtm.exe 能找到句柄但没用,连屏幕截屏都截不到 这张图是在虚拟机下才截到的图.发送消息的方式可免了(没句柄) sendkeys无效  keybd_event 也无效请教高招 谢谢各位相助.

解决方案 »

  1.   

    sendiput 与 winio 我也试了 我不太熟 试了不行 可能是我不善的使用
      

  2.   

    [原创]用VB模拟键盘输入的N种方法http://www.m5home.com/bbs/thread-1283-1-1.html这里11楼我封装了一个代码,不知道这个代码能否让你这个软件工作?如果再不行,我看你买个硬件键盘模拟器得了,它本身是一个USB键盘,开放了编程接口而已,哈哈.
      

  3.   

    啊,我那个就是用WINIO的.试试吧
      

  4.   

    你哪个帖子 代码真乱啊 哈哈哈 没法复制 拜托一下[email protected] 谢谢
      

  5.   

    买个硬件键盘模拟器倒不是问题 它提供vb编程接口吗?VB能下命令控制吗?
      

  6.   

    看来只能是WinIo试一试了
      

  7.   

    有API,本意是做外挂用的,使用完全真正的硬件设备,所以绝对成功.一两百一个,貌似还有直接支持按键精灵的版本.不过按键精灵自己出了硬件版,叫按键盒子:http://www.ajbox.cn/只是贵,三百多...
      

  8.   

    老马收到了 运行时 驱动程序错误 不停的弹出窗口 c+a+Del强制才能退出
      

  9.   

    dos窗口的程序用按键模拟 本来就是个方向性的错误 应该用pe管道技术 模拟打字回车之类的还行 一些特殊按键就不知道了
      

  10.   


    谢谢Veron_04 osk.exe 倒是能用vb 发送BM_Click模拟点击它的下移按键 可以让这个DOS软件感应到 但是这个dos软件太贱了 外部模拟按键,它就立马最小化到任务栏 只能在它的界面下 乖乖的去按键盘上的键 才能正常操作这个DOS软件
      

  11.   

    谢谢startbin不知你熟不熟它 如能帮忙 我把这个DOS程序发给你试看看?
      

  12.   

    那就后台使用WinIo写键盘端口,发送命令。
      

  13.   

    你那里的系统是什么?这个代码我在WIN2003,XP,及目前我用的WIN7下测试都完全正常.另,我是编译后测试的.
      

  14.   


    后台使用WinIo写键盘端口,发送命令。 请问你有示例代码吗?方便的话 我发软件给你 帮我这个忙
      

  15.   

    我认为这个不难啊,难道是我理解有误?
    你编写一个VB程序,在调用WinIO的SetPortVal发送键盘命令啊。
    我就是这样理解的
      

  16.   

    编译后测试的可以用,谢谢它的msgbox我了 IDE下也能用 但同样的 能模拟键盘控制所有程序 但这个dos软件却没一点反应, 使用了屏幕键盘osk.exe倒是让它有反应 但它却立刻最小化。
      

  17.   

    http://topic.csdn.net/u/20080314/21/5aa66dea-2a8a-45a1-bd38-d305bbb1b8fa.html用管道重定向,向它发送方向键呢?如果再不行,就硬件模拟吧,哈哈.
      

  18.   


    谢谢你 但它没有上下左右的键继续等其它方法, 哎 还是控制不了DOS菜单上下移动选择
      

  19.   

    你现在采用的是osk.exe?
    为什么部采用winio.dll来发送键盘命令啊?后台发送就可以了啊?
      

  20.   

    如果你就是发单一的按键消息的话,我觉得你可以采用WinIo.dll来发送键盘命令即可,不需要使用osk.exe
      

  21.   

    软件不大可以发到我邮箱里面 我帮你看看 startbin##126.com
      

  22.   

    DOS下的软件是不是要用DOS下的工具呢?
      

  23.   

    跑 DOS 程序用不着虚拟机,最好的是 DOSBox。
    试试你那个 DOS 程序能否在 DOSBox 下正常手工操作,然后在 Windows 下用按键工具。
    整个关联图如下:
      DOS 程序 <- DOS输入 <- DOSBox <- Windows 消息 <- 按键工具
    DOS 程序只会认为自己运行在 DOS 下。