比如说我现在打开了一个vc程序,现在也打开了一个dos窗口,我怎么样才能在vc中像dos窗口中输入命令,
我的思路是先激活dos窗口,然后再模拟键盘,可是不知道怎么实现,有人能给个代码,或者提供个函数吗?

解决方案 »

  1.   

    //我怎么样才能在vc中dos窗口中输入命令?  还是
      

  2.   

    基于UDP的socket连接通信应该可以
      

  3.   

    我觉得可以先用什么函数将制定的程序(dos)窗口激活,让后再模拟键盘按键
      

  4.   

    小弟有个思路不知道对否, 用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;
      

  5.   

    模拟键盘用keybd_event,不过这个函数已经被SendInput函数取代。
    此外,也可以考虑用FindWindow找出控制台窗口,然后SendMessage。
      

  6.   

    回复:aca_jingru  你的方法我看可以,但是参数设置专门弄,我对这个也是不怎么熟悉,刚学,呵呵
     
    如:
    HANDLE jack;
    jack=GetStdHandle("C:\WINDOWS\system32\cmd.exe");
    WriteConsoleInput(jack,×,×,×)打×的地方应该写什么东西。请教了回复:cnzdgs  
    你的方法我想过,但是实现上有点困难,高手,能给个示例让我模仿下吗。谢谢
      

  7.   

    http://www.99inf.net/SoftwareDev/VC/28302.htm