我想補充的對象IFileOperation
和IShellItem
,但我不能以任何方式源填寫並給我回:DEVC++ - 「IFileOperation」未申報(C++)
IFileOperation - undeclared (first use in this function)
我使用的dev- C++與連接器的參數:-luuid -lole32
我想我必須添加其他標題,但每個谷歌搜索都不成功。 你有什麼想法嗎?
#include <windows.h>
#include <shlobj.h>
int WINAPI WinMain(HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{
HRESULT hr;
IShellLink* pISL;
hr = CoCreateInstance(CLSID_ShellLink, // CLSID of coclass
NULL, // not used - aggregation
CLSCTX_INPROC_SERVER, // type of server
IID_IShellLink, // IID of interface
(void**) &pISL); // Pointer to our interface pointer
if(SUCCEEDED(hr))
{
pISL->Release();
}
else
{
// Couldn't create the COM object. hr holds the error code.
}
CoUninitialize();
}
「IFileOperation」和「IShellItem」的接口定義在*中均爲* * [來自MS的文檔](https://msdn.microsoft.com/zh-cn/library/windows/desktop/ bb775771%28V = vs.85%29.aspx)。這個文檔是從簡單的谷歌搜索*'IShellItem'或'IFileOperation'的**第一次打擊**,並帶來懷疑「...每一次谷歌搜索都不成功」的說法,或者至少,無論你尋找什麼術語。 –
WhozCraig
包括#include返回此錯誤:「Shobjidl.h:沒有這樣的文件或目錄。」所以問題依然存在,我該如何繼續? –
Metanubix
您是使用Windows Vista或更高版本兼容的SDK編譯的?如果沒有,您將無法找到該文件(也在同一文檔中註明)。您使用的是哪個SDK版本,以及您定位的是哪個平臺?除非DevC++至少符合Windows Vista/Server2008 SDK規範,否則它將不起作用,您可能會轉而使用傳統的SHFileOperation子系統。 (yuck) – WhozCraig