I am using this code:
and I am getting:Code:#include "dll.h" #include <windows.h> #include <string.h> #include <windows.h> #include <objidl.h> #include <ShlObj.h> #if defined(_MSC_VER) #pragma comment(lib, "ole32.lib") #pragma comment(lib, "uuid.lib") #endif // CreateLink - uses the Shell's IShellLink and IPersistFile interfaces // to create and store a shortcut to the specified object. // // Returns the result of calling the member functions of the interfaces. // // Parameters: // lpszPathObj - address of a buffer containing the path of the object. // lpszPathLink - address of a buffer containing the path where the // Shell link is to be stored. // lpszDesc - address of a buffer containing the description of the // Shell link. //lpszDir - Working Directory for the file. HRESULT CreateLink(LPCSTR lpszPathObj, LPCSTR lpszPathLink, LPCSTR lpszDesc, LPCSTR lpszDir) { CoInitialize(NULL); HRESULT hres; IShellLink* psl; // Get a pointer to the IShellLink interface. hres = CoCreateInstance(CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (LPVOID*)&psl); if (SUCCEEDED(hres)) { IPersistFile* ppf; // Set the path to the shortcut target and add the description. psl->SetPath(lpszPathObj); psl->SetDescription(lpszDesc); psl->SetWorkingDirectory(lpszDir); // Query IShellLink for the IPersistFile interface for saving the // shortcut in persistent storage. hres = psl->QueryInterface(IID_IPersistFile, (LPVOID*)&ppf); if (SUCCEEDED(hres)) { WCHAR wsz[MAX_PATH]; // Ensure that the string is Unicode. MultiByteToWideChar(CP_ACP, 0, lpszPathLink, -1, wsz, MAX_PATH); // Add code here to check return value from MultiByteWideChar // for success. // Save the link by calling IPersistFile::Save. hres = ppf->Save(wsz, TRUE); ppf->Release(); } psl->Release(); } return hres; } export bool makeShortCut(LPCTSTR exeName, LPCTSTR lnkName, LPCTSTR description, LPCTSTR workingDir) { LPCTSTR lpszFileName = lnkName; LPCTSTR lpszShortcutDesc = exeName; LPCTSTR lpszShortcutPath = description; LPCTSTR pszDir= workingDir; return(CreateLink(lpszFileName, lpszShortcutDesc, lpszShortcutPath, pszDir)); }
I am using Dev-C++ anybody no what I did wrong?[Linker error] undefined reference to `CoInitialize@4'
[Linker error] undefined reference to `CoCreateInstance@20'
[Linker error] undefined reference to `IID_IPersistFile'
ld returned 1 exit status
C:\Dev-Cpp\Projects\TestDLL\Makefile.win [Build Error] [Test.dll] Error 1



LinkBack URL
About LinkBacks



