線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1594
推到 Plurk!
推到 Facebook!

請問如何傳送中文字串到類似DOS模式的視窗

缺席
heart75047
一般會員


發表:9
回覆:13
積分:19
註冊:2010-05-20

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-08-25 23:17:57 IP:111.252.xxx.xxx 訂閱
小弟想寫個用DELPHI控制MYSQL自動創建資料表的程式

使用sendmessage的時候 只能傳送字元


[code delphi]
SetForegroundWindow(WinExec('D:\AppServ\MySQL\bin\mysql.exe -u root -p', SW_Normal));
sleep(1000);
c := FindWindow(nil, 'D:\AppServ\MySQL\bin\mysql.exe');
if c <> 0 then begin
h:=ChildWindowFromPoint(c,Point(10,10));
if h <> 0 then begin
SendMessage(h, WM_char,longint(PCHAR('1234')),0);
SendMessage(h, WM_char,VK_RETURN,0);
end;
end;

[/code]

只會打出個 " * "


使用sendkeys的時候 送出中文字串時 會跑出 Invalid KeyName 的錯誤視窗

[code delphi]
SetForegroundWindow(WinExec('D:\AppServ\MySQL\bin\mysql.exe -u root -p', SW_Normal));
sleep(1000);
SendKeys(PChar('1234' '{Enter}'), True);
SendKeys(PChar('use test' '{Enter}'), True);
SendKeys(PChar('create table 工作分配紀錄(' '{Enter}'), True);

[/code]

試過用CMD執行也是一樣的情形

也找了許多KTOP裡面的文章

有些太深奧的還看不懂 也不知道怎麼用(大多是BCB的)

GOOGLE找的全都是英文

麻煩各位前輩解答了!
系統時間:2024-04-23 14:21:12
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!