GetForegroundWindow 및 GetWindowText 함수를 사용하여 활성 창 제목을 얻으려고 시도하고 있는데 이것이 내 코드입니다.
HWND hwnd = GetForegroundWindow();
char wname[255];
GetWindowText(hwnd,wname,255);
그리고 프로젝트를 빌드하려고 할 때마다 "오류 : 오류 : char를 wchat_t *로 변환 할 수 없습니다"라는 오류 메시지가 표시됩니다.
C ++ builder xe7을 사용하는 임
그래서, 무엇이 잘못 되었나요?
유니 코드 인식 모드에서 애플리케이션을 빌드하고 있습니다. a char
는 UTF-16 문자를 수용 할만큼 충분히 크지 않습니다. 타입 시스템은 당신을 위해 이것을 잡아서 여기 에서 많은 잠재적 인 두통 으로부터 당신을 구하고 있습니다. ASCII 모드로 변경하거나 (쉽지만 나쁜 솔루션), 모든 곳에서 넓은 문자열을 사용하도록 전환 (성가신 솔루션)하거나, 제공된 매크로를 사용하여 빌드 매개 변수를 기반으로 컴파일 타임에 선택하십시오 (더 짜증나지만 가장 정확한 솔루션).
위의 솔루션 중 하나가 구현 된 경우이 코드 조각은 다음과 같습니다.
HWND hwnd = GetForegroundWindow();
wchar_t wname[255];
GetWindowText(hwnd, wname, 255);
HWND hwnd = GetForegroundWindow();
TCHAR wname[255];
GetWindowTextW(hwnd, wname, 255);
당신은 (당신이해야), 당신은 또한 사용하는 기억해야 유니 코드 인식 응용 프로그램 구축하기로 선택한 경우 wmain
또는 _tmain
적용이 아닌 일반 오래된 지루한을 main
. Windows 때문입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다