본문 바로가기

Programming/Delphi

#03. 녹스 ADB실행파일 경로 가져오기

ADB란?

- ADB는 가상에뮬레이터에 명령을 보낼 수 있도록 도와주는 통로(?)같은

역활을 합니다.

- 리눅스의 터미널, 윈도우즈의 명령프롬프트 같이 에뮬레이터에도 ADB를

이용해 명령을 보낼 수 있습니다.



녹스타이틀로 녹스설치 경로를 가져오는 함수입니다.

먼저 ADB경로를 알기위해선 아래의 함수로 녹스 설치 경로를 가져와야합니다.


녹스의 ADB는 녹스가 설치되어 있는 경로, 즉 설치경로에 같이 존재합니다.

녹스 ADB의 파일 이름은 nox_adb.exe입니다.

uses Winapi.PsAPI function GetProcessPathByAppName(appname : String): String; var pid : DWORD; hProcess: THandle; path : array[0..4095] of Char; begin GetWindowThreadProcessId(FindWindow('Qt5QWindowIcon',

PChar(appname)), pid); hProcess := OpenProcess(PROCESS_QUERY_INFORMATION or

PROCESS_VM_READ, FALSE, pid); if hProcess <> 0 then try if GetModuleFileNameEx(hProcess, 0, @path[0],

Length(path)) = 0 then RaiseLastOSError; result := path; finally CloseHandle(hProcess); end else RaiseLastOSError; end;


위의 함수를 이용해 HIT1이라는 녹스플레이어를 이용해 

nox_adb.exe의 풀경로를 가져오는 방법입니다.


adb_path := ExtractFilePath(GetProcessPathByAppName('HIT1')) +

'nox_adb.exe';