因为工作原因
我们现在使用的程序A
里面一堆文本框
下面的人把EXCEL表格报上来 我对着EXCEL传到程序A中我想 编一个程序B 先吧EXCEL的数据导进来
点确定 自动把数据导入程序A的文本框中请问 导入程序A的思路 或者 可以BAIDU的关键字
我们现在使用的程序A
里面一堆文本框
下面的人把EXCEL表格报上来 我对着EXCEL传到程序A中我想 编一个程序B 先吧EXCEL的数据导进来
点确定 自动把数据导入程序A的文本框中请问 导入程序A的思路 或者 可以BAIDU的关键字
通过该窗口句柄得到文本框的句柄(ID可以通过spy++)获取
通过SendMessage发送消息设置文本框框的内容
----------
我对
SuperTitan001 兄的思路很感兴趣
能摆脱说详细点吗
谢谢
我有程序A,需要输入密码,窗体显示为‘请输入密码’下面的程序可以为密码edit输入‘1234’
procedure TForm1.Button1Click(Sender: TObject);
var
h:HWND;
begin
h:= FindWindow(nil,'请输入密码');
h:=findwindowex(h,0,'TEdit',nil); //当然,这个句柄可以通过VC自带的SPY++来查看,是一样的
SendMessage(h,WM_SETTEXT,255,Integer(PChar('1234')));
edit1.Text:=inttostr(h);
end;
------------
另 这是我搜的 代码 正好能用
但是 怎么 把他设置成全局热键啊
uses
Clipbrd;
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
clp:Tclipboard;
i: integer;
str: string;
begin
if key=vk_f2 then
begin
clp:=Tclipboard.Create;
str:=clp.AsText;
for i:=1 to length(str) do
begin
keybd_event(ord(str[i]), MapVirtualKey(ord(str[i]), 0 ), 0 , 0 );
sleep(500);
end;
clp.Free;
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
keybd_event(vk_f2, MapVirtualKey(vk_f2, 0 ), 0 , 0 );
end;
那 文本框的句柄ID是如何得到呢?
是用SPY++吗、
抱歉 大学毕业都快4年了
该忘得都忘得差不多了
h,h1,h2,h3:THandle;//h是程序A的句柄,h1,h2,h3是三个edit的句柄
begin
h:=FindWindow(nil, '程序A标题');
h1:=FindWindowEx(h,0,'TEdit',nil);
h2:=GetWindow(h1,GW_HWNDNEXT);
h3:=GetWindow(h2,GW_HWNDNEXT);
end;这样句柄就全有了