delphi createfile濡備綍鎵撳紑涓插彛
瑕佹墦寮€涓插彛锛屾偍鍙互浣跨敤Delphi涓殑CreateFile鍑芥暟鏉ュ疄鐜般€?/p>
棣栧厛锛屾偍闇€瑕佽皟鐢–reateFile鍑芥暟鏉ュ垱寤轰竴涓笌涓插彛鐩稿叧鐨勬枃浠跺彞鏌勩€傛鍑芥暟鐨勫師鍨嬩负锛?/p>
function CreateFile(lpFileName: PChar; dwDesiredAccess, dwShareMode: DWORD;
lpSecurityAttributes: PSecurityAttributes; dwCreationDisposition, dwFlagsAndAttributes: DWORD;
hTemplateFile: THandle): THandle; stdcall;
鍏朵腑锛宭pFileName鍙傛暟鐢ㄤ簬鎸囧畾涓插彛鐨勫悕绉帮紝渚嬪"COM1"琛ㄧず绗竴涓覆鍙o紝"COM2"琛ㄧず绗簩涓覆鍙o紝浠ユ绫绘帹銆?/p>
dwDesiredAccess鍙傛暟鐢ㄤ簬鎸囧畾瀵逛簬涓插彛鐨勮闂潈闄愶紝閫氬父鍙互璁剧疆涓篏ENERIC_READ | GENERIC_WRITE锛岃〃绀哄彲璇诲彲鍐欍€?/p>
dwShareMode鍙傛暟鐢ㄤ簬鎸囧畾鍏变韩妯″紡锛岄€氬父鍙互璁剧疆涓?锛岃〃绀轰笉鍏变韩銆?/p>
鍏朵粬鍙傛暟鍙互璁剧疆涓?鎴栬€卬il銆?/p>
鎺ヤ笅鏉ワ紝鎮ㄥ彲浠ユ鏌reateFile鍑芥暟杩斿洖鐨勫彞鏌勬槸鍚︽湁鏁堬紝濡傛灉鏈夋晥鍒欒〃绀轰覆鍙f墦寮€鎴愬姛锛屽彲浠ヨ繘琛屽悗缁殑涓插彛鐩稿叧鎿嶄綔锛屽鏋滄棤鏁堝垯琛ㄧず涓插彛鎵撳紑澶辫触銆?/p>
浠ヤ笅鏄竴涓ず渚嬩唬鐮侊紝婕旂ず浜嗗浣曟墦寮€涓插彛锛?/p>
var
hComm: THandle;
begin
hComm := CreateFile('COM1', GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0);
if hComm <> INVALID_HANDLE_VALUE then
begin
// 涓插彛鎵撳紑鎴愬姛锛屽彲浠ヨ繘琛屽悗缁搷浣?/span>
ShowMessage('涓插彛鎵撳紑鎴愬姛');
// ...
CloseHandle(hComm); // 鍏抽棴涓插彛
end
else
begin
// 涓插彛鎵撳紑澶辫触
ShowMessage('涓插彛鎵撳紑澶辫触');
end;
end;
璇锋敞鎰忥紝姝や唬鐮佺ず渚嬪亣璁炬偍瑕佹墦寮€鐨勬槸COM1涓插彛锛屽鏋滆鎵撳紑鍏朵粬涓插彛锛岃鐩稿簲淇敼lpFileName鍙傛暟鐨勫€笺€傚彟澶栵紝闇€瑕佸寘鍚玏indows鍗曞厓锛屼互鍙婁娇鐢ㄤ簡MessageBox鍑芥暟鏉ユ樉绀烘墦寮€涓插彛鐨勭粨鏋滐紝鎮ㄥ彲浠ラ€氳繃鍏朵粬鏂瑰紡鏉ユ浛浠c€?/p>
相关问答