扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

delphi createfile濡備綍鎵撳紑涓插彛

扬州沐宇科技
2023-10-28 02:34:35
delphi

瑕佹墦寮€涓插彛锛屾偍鍙互浣跨敤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>

扫码添加客服微信