//功能:在记事本中输入字符,如'1'var
  hwndNotepad : THandle;
begin
  hwndNotepad := FindWindow('notepad',nil);  if hwndNotepad=0 then
  begin
    ShowMessage('Not found');
    Exit;
  end;  SendMessage(hwndNotepad, WM_KEYDOWN, VkKeyScan('1'), 0);
//SendMessage(hwndNotepad, WM_CHAR, VkKeyScan('1'), 0);
  SendMessage(hwndNotepad, WM_KEYUP, VkKeyScan('1'), 0);end;
这代码不行啊,怎么办好??注意:不能用keybd_exent,因为我不想记事本窗口在最前方.

解决方案 »

  1.   

    var
      hwndNotepad : THandle;
      hwndEdit    : THandle;
      s : string;
    begin
      hwndNotepad := FindWindow('notepad',nil);  if hwndNotepad=0 then
      begin
        ShowMessage('Not found');
        Exit;
      end;
      hwndEdit := FindWindowEx(hwndNotepad, 0, 'Edit', nil);
      if hwndEdit=0 then
      begin
        ShowMessage('Not found');
        Exit;
      end;  s := 'I am HCH';  SendMessage(hwndEdit, WM_SETTEXT, 0, LongInt(s));end;
    试试^_^
      

  2.   

    SendMessage(hwndEdit, WM_SETTEXT, 0, LongInt(s));
    // 发送WM_SETTEXT消息给记事本
    // 即将s字符串发到记事本的编辑窗口中