방금 내 응용 프로그램에서 문제가 발생했습니다. 정적 주소 인 CreateWindowW
이 필요합니다. 그냥 같이 : CreateWindowW
와 같은 트릭을 수행 할 때Windows에서 CreateWindowW를 구현하는 모듈은 무엇입니까?
&ShowWindow;
그러나, 내가 컴파일러 오류를 얻을Identifier "CreateWindowW" is undefined
(이 매크로이다). 사실이 함수가 정의 된 곳 (DLL)을 찾을 수 없으며 심지어 pinvoke.net에도이 기능이 언급되어 있지 않습니다.
일부 웹 사이트에는 user32.dll
이라는 언급이 있지만 내 함수에 GetProcAddress
은 null 포인터를 반환합니다. 내가 잃어버린, Windows에서 어떤 모듈이이 기능과 연결되어 있습니까? 난이 기능에 디버거와 추적 전화 연결을 시도하면 통화 ..
내 빌드가 유니 코드가있다 어디로
는 비주얼 스튜디오는 그래서 난 이해할 수 없다 "이상의 단계"합니다. 내가을 볼 수 있습니다 WinUser.h 텍스트 :
#define CreateWindowA(lpClassName, lpWindowName, dwStyle, x, y,\
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\
CreateWindowExA(0L, lpClassName, lpWindowName, dwStyle, x, y,\
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
#define CreateWindowW(lpClassName, lpWindowName, dwStyle, x, y,\
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)\
CreateWindowExW(0L, lpClassName, lpWindowName, dwStyle, x, y,\
nWidth, nHeight, hWndParent, hMenu, hInstance, lpParam)
#ifdef UNICODE
#define CreateWindow CreateWindowW
#else
#define CreateWindow CreateWindowA
#endif // !UNICODE
'#define CreateWindowW (...) CreateWindowExW (...)'는 그것을주지 않았습니까? –
이제는 "CreateWindow"함수의 MSDN 페이지를 읽고 매크로가 아닌지 확실합니다. 매크로는 형식화 된 인수를 갖지 않을 수 있으며, MSDN 페이지에서는 형식이있는 인수를 함수로 정의합니다. @VioletGiraffe가 자신의 결정에이 함수를 호출 한 것처럼 "매크로"또는 "래퍼"라는 언급이 없지만 MSDN에서는 (기사 마지막 부분에서) CreateWindowEx에 대한 호출로 구현됩니다. 이것은 유익하고 명확한 문서화 문제를 말해주지 않습니다. 이 페이지는 MSDN에서 "CreateWindow function"으로 제목이 지정됩니다. – Croll
[CreateWindow] (https://msdn.microsoft.com/en-us/library/windows/desktop/ms632679.aspx)에서 * : "CreateWindow는 아래 그림과 같이 CreateWindowEx 함수 **에 대한 호출로 구현됩니다. *. "* 명시 적으로 해당 매크로가 매크로임을 나타냅니다 (함께 제공되는 코드에서). 분명히 문서를 읽지 않는 문제. – IInspectable