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

ShellExecute無法執行了?From x86 to x64

缺席
jimmywu
一般會員


發表:41
回覆:37
積分:15
註冊:2006-12-12

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-12-22 23:57:53 IP:123.204.xxx.xxx 訂閱
Hello !

在Delphi 6.0寫的一個偵測host server網路卡編號的程式,放到64Bit 的環境不能執行了,
我想是因為D6的shell 是 32 bit ,在64bit中是無法執行的,不知怎樣用D6修改
讓該程式,放到64Bit 的環境也能執行???寫法如下:

1. 把字串: batf :='CMD /c NBTSTAT -a ' host 名稱 ' >>'c:\ chk.TXT' '寫到chk.bat 文字檔 (<===寫入正確)

2. 呼叫shell 執行chksvr.bat to write mac addr into chk.txt
Delphi程式為: ShellExecute(handle, 'open', pchar(batf), Nil, Nil, SW_HIDE); (<===這一行無效,chk.txt內容是空的)

請教大大們,有解法嗎?

eaglewolf
資深會員


發表:4
回覆:268
積分:429
註冊:2006-07-06

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-12-23 10:03:12 IP:211.75.xxx.xxx 訂閱
應該是你ShellExecute的用法錯誤
改成以下的方式試看看吧
[code delphi]
batf := '/c NETSTAT -a >> c:\Chk.txt';
ShellExecute(handle,'open' , PChar('CMD'), PChar(batf), nil,SW_HIDE);
[/code]

===================引 用 jimmywu 文 章===================
Hello !

在Delphi 6.0寫的一個偵測host server網路卡編號的程式,放到64Bit的環境不能執行了,
我想是因為D6的shell是32 bit ,在64bit中是無法執行的,不知怎樣用D6修改
讓該程式,放到64Bit的環境也能執行???寫法如下:

1.把字串: batf :='CMD /c NBTSTAT -a ' host 名稱 ' >>'c:\ chk.TXT' '寫到chk.bat 文字檔 (<===寫入正確)

2. 呼叫shell 執行chksvr.bat to write mac addr into chk.txt
Delphi程式為: ShellExecute(handle, 'open', pchar(batf), Nil, Nil, SW_HIDE); (<===這一行無效,chk.txt內容是空的)

請教大大們,有解法嗎?

------
先查HELP
再查GOOGLE
最後才發問

沒人有義務替你解答問題
在標題或文章中標明很急
並不會增加網友回答速度

Developing Tool:
1.Delphi 6
2.Visual Studio 2005
3.Visual Studio 2008
DBMS:
MS-SQL
編輯記錄
eaglewolf 重新編輯於 2009-12-23 10:04:10, 註解 無‧
eaglewolf 重新編輯於 2009-12-23 10:12:47, 註解 無‧
jimmywu
一般會員


發表:41
回覆:37
積分:15
註冊:2006-12-12

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-12-24 21:47:15 IP:123.204.xxx.xxx 訂閱
改成: ShellExecute(handle,'open' , PChar('CMD'), PChar(batf), nil,SW_HIDE);

結果連chk.txt都不產生了?
eaglewolf
資深會員


發表:4
回覆:268
積分:429
註冊:2006-07-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-12-26 17:55:34 IP:211.75.xxx.xxx 訂閱
你可以試著將batf中的/c拿掉,也就是batf:='NetStat -a >> C:\Chk.Txt';
讓command視窗不要直接關閉 , 看看command視窗會出現什麼訊息
------
先查HELP
再查GOOGLE
最後才發問

沒人有義務替你解答問題
在標題或文章中標明很急
並不會增加網友回答速度

Developing Tool:
1.Delphi 6
2.Visual Studio 2005
3.Visual Studio 2008
DBMS:
MS-SQL
編輯記錄
eaglewolf 重新編輯於 2009-12-27 01:21:33, 註解 無‧
jimmywu
一般會員


發表:41
回覆:37
積分:15
註冊:2006-12-12

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-01-01 17:33:43 IP:118.231.xxx.xxx 訂閱
一樣無效!

哎!算了!反正BDE的系統,甚麼時後玩完,也不知

真該思考,重新開發?
編輯記錄
jimmywu 重新編輯於 2010-01-01 17:34:19, 註解 無‧
系統時間:2024-03-29 4:16:37
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!