有難度,說出思路也給分---delphi 調用外部程序執行登陸 下載 基本上就是網站上有一個對應的網頁程式,共DELPHI呼叫,帳號密碼由 delphi 驗證通過後,網頁會給出一個資料包,DELPHI接收下並載這個檔案,然後解壓到本地機器上即可. 如果那位朋友以前做過,也不會很難,希望幫小弟一把,先謝謝了.沒有做過的朋友給個思路也有分 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用shellexecute调用外部程序,具体使用查看帮助 shellexecute 只是能調用ie ,但並不滿足我的要求,我現在是不讓網頁顯示,直接把用戶信息提交給服務器.恐怕shellexecute 不行 問題解決了 ,現在吧核心代嗎鐵出來procedure Tinputinfo.Button1Click(Sender: TObject); //打開 klchbcvs.ini 檔案 procedure OpenForShare(const FileName: String); var FileHandle : Integer; begin FileHandle := FileOpen(FileName, fmOpenWrite or fmShareDenyNone); if FileHandle > 0 then StrCase:=GetOrderPrint else begin MsgAbort('找不到klchbcvs.ini 檔案, 請確認') ; Application.Terminate ; end; end;var IE: TInternetExplorer; vFlag, vFrame, vPost, vHeader: OleVariant; str:string ;begin OpenForShare( extractfilepath(Application.ExeName)+'klchbcvs.ini') ; CoInitialize(nil); IE := TInternetExplorer.Create(nil); try try Screen. Cursor:=crHourGlass; // shellexecute(0,'open',pchar(httpstr),nil,nil,1); // 開啟新的 IE 並顯示 IE.Visible := true; vFlag := navOpenInNewWindow; if StrCase ='0'then //狀況1 str:= Format('Method_Type=login& file_cd=%s&file_name=%s&user_name=%s&user_passwd=%s&dirct_down=%s', // [sfile_cd,sfile_name , EdName.Text, Edpass.Text,'1']) else //狀況2 str:= Format('Method_Type=login&file_cd=%s&file_name=%s&file_size=%s&file_date=%s&user_name=%s&user_passwd=%s&dirct_down=%s', // [sfile_cd,sfile_name , Localfile_size, Localfile_date,EdName.Text, Edpass.Text,'1']); vPost := StringToPostData( str); // // Post 的資料是加在 Http-Header 後方[/red] // 在 Http-Header 處要多加 Content-Type 做解釋 (不需要修改) vHeader := 'Content-Type: application/x-www-form-urlencoded' + #10#13; // 使用 Navigate 連接到所要的 URL, 請依需求修改 IE.Navigate( HttpStr , vFlag, vFrame, vPost, vHeader ); finally IE.Free; CoUnInitialize; Screen.Cursor:=crDefault; end; except showmessage('登陸失敗!請檢查輸入的信息是否正確');end;end; 100分,我这样子创建的线程,用什么办法立即终止呢? delphi 两表各总值及相减 [在线等]Delphi 中如何预览 Excel表格内容.最好能调显示比例. 概念的问题. 关于函数的名调用和体调用,那位大哥指导阿? 请问:DBGrideh的SumList可以支持主从查询吗 delphi为什么说并不是所有变量都已关联 高分,webSnap问题 图形、报表、监控、教育软件开发的绝对利器---介绍一个ActiveX控件! 怎样把paradox数据库的一个字段分成俩个? 用程序实现控制显示器的开关、系统待机等... 我发现端口:9695被打开了,如何得到开此端口的应用程序或DLL?
procedure Tinputinfo.Button1Click(Sender: TObject);
//打開 klchbcvs.ini 檔案
procedure OpenForShare(const FileName: String);
var
FileHandle : Integer;
begin
FileHandle := FileOpen(FileName, fmOpenWrite or fmShareDenyNone);
if FileHandle > 0 then
StrCase:=GetOrderPrint
else
begin
MsgAbort('找不到klchbcvs.ini 檔案, 請確認') ;
Application.Terminate ;
end;
end;var
IE: TInternetExplorer;
vFlag, vFrame, vPost, vHeader: OleVariant;
str:string ;
begin
OpenForShare( extractfilepath(Application.ExeName)+'klchbcvs.ini') ;
CoInitialize(nil);
IE := TInternetExplorer.Create(nil);
try
try
Screen. Cursor:=crHourGlass;
// shellexecute(0,'open',pchar(httpstr),nil,nil,1);
// 開啟新的 IE 並顯示
IE.Visible := true;
vFlag := navOpenInNewWindow;
if StrCase ='0'then //狀況1
str:= Format('Method_Type=login& file_cd=%s&file_name=%s&user_name=%s&user_passwd=%s&dirct_down=%s', //
[sfile_cd,sfile_name , EdName.Text, Edpass.Text,'1'])
else //狀況2
str:= Format('Method_Type=login&file_cd=%s&file_name=%s&file_size=%s&file_date=%s&user_name=%s&user_passwd=%s&dirct_down=%s', //
[sfile_cd,sfile_name , Localfile_size, Localfile_date,EdName.Text, Edpass.Text,'1']);
vPost := StringToPostData( str); //
// Post 的資料是加在 Http-Header 後方[/red]
// 在 Http-Header 處要多加 Content-Type 做解釋 (不需要修改)
vHeader := 'Content-Type: application/x-www-form-urlencoded' + #10#13;
// 使用 Navigate 連接到所要的 URL, 請依需求修改
IE.Navigate( HttpStr , vFlag, vFrame, vPost, vHeader );
finally
IE.Free;
CoUnInitialize;
Screen.Cursor:=crDefault;
end;
except
showmessage('登陸失敗!請檢查輸入的信息是否正確');
end;
end;