又有掉头发的结构体出现了。
联合体 union 还没支持。 结构体的预处理 呢??
typedef struct _NOTIFYICONDATAA {
DWORD cbSize;
HWNDhWnd;
UINTuID;
UINTuFlags;
UINTuCallbackMessage;
HICON hIcon;
#if ...
CHARszTip;
#else
CHARszTip;
#endif
DWORD dwState;
DWORD dwStateMask;
CHARszInfo;
union {
UINT uTimeout;
UINT uVersion;
} DUMMYUNIONNAME;
CHARszInfoTitle;
DWORD dwInfoFlags;
GUIDguidItem;
HICON hBalloonIcon;
} NOTIFYICONDATAA, *PNOTIFYICONDATAA;
szTip(宏条件分支的变量名称都一样) 和联合体 直接别名类型输出名 就行了 609177738 发表于 2024-3-17 20:49
szTip(宏条件分支的变量名称都一样) 和联合体 直接别名类型输出名 就行了 ...
各种方式都试了;
CommCtrl.h
CommCtrl.lib
都引用了,就是编译不通过,提示未标识 TASKDIALOGCONFIG
TaskDialogIndirectTASKDIALOGCONFIG config = { 0 };
config.cbSize = sizeof(TASKDIALOGCONFIG);
config.hwndParent = NULL;
config.pszWindowTitle = L"标题";
config.pszMainInstruction = L"主提示";
config.pszContent = L"内容";
config.dwCommonButtons = TDCBF_OK_BUTTON;
HRESULT hr = TaskDialogIndirect(&config, NULL, NULL, NULL);
if (SUCCEEDED(hr))
{
}
用「别名类型:本地结构」可以封装,就是很多类型需要定义或改成属性读写方法。
TASKDIALOGCONFIG 最低系统要求是Windows Vista,这种API和结构体,一般是需要定义一下版本宏才能调用
@视窗.预定义宏 "WINVER=0x0600,_WIN32_WINNT=0x0600"
页:
[1]