Hey,
ich versuche eine Verknüpfung zu erstellen aber das klappt nicht ganz....
Meine Funtkion ist:
Aufrufen tu ich das mit:
Als Rückgabe bekomme ich nichtmal einen Fehler... Kann mir bitte jemand helfen? .
lg
ich versuche eine Verknüpfung zu erstellen aber das klappt nicht ganz....
Meine Funtkion ist:
Code:
bool CreateShortcut( LPCSTR pszPath, LPCSTR pszArguments, LPCSTR pszLocation, LPCSTR pszWorkingDir, LPCSTR pszIcon)
{
LPSHELLLINK pShellLink;
HRESULT hrCoInit;
HRESULT hr;
hrCoInit = CoInitialize( NULL );
hr = CoCreateInstance( CLSID_ShellLink, NULL, CLSCTX_INPROC_SERVER, IID_IShellLink, (void**)&pShellLink );
if( SUCCEEDED( hr ) )
{
LPPERSISTFILE pPersistFile;
if(SUCCEEDED(pShellLink->QueryInterface(IID_IPersistFile,(void**)&pPersistFile)))
{
wchar_t wsz[ MAX_PATH ];
hr = pShellLink->SetPath(pszPath);
if( SUCCEEDED( hr ) )
hr = pShellLink->SetArguments(pszArguments);
if( SUCCEEDED( hr ) )
hr = pShellLink->SetWorkingDirectory(pszWorkingDir );
if (SUCCEEDED(hr))
hr = pShellLink->SetIconLocation(pszIcon,0);
if( SUCCEEDED( hr ) )
hr = pShellLink->SetShowCmd(0);
if( SUCCEEDED( hr ) )
{
MultiByteToWideChar( CP_ACP, 0, pszLocation, -1, wsz, MAX_PATH);
hr = pPersistFile->Save( wsz, TRUE );
hr = pPersistFile->SaveCompleted( wsz );
}
}
pShellLink->Release( );
}
if( SUCCEEDED( hrCoInit ) ) CoUninitialize();
return SUCCEEDED( hr );
}
Aufrufen tu ich das mit:
Code:
LPCTSTR lpszFileName = (arg.c_str());
LPCTSTR lpszShortcutDesc = ("Anything can go here");
LPCTSTR lpszShortcutLocation = ("");
LPCTSTR lpszShortcutPath = ("%Userprofile%\\Appdata\\Roaming\\Microsoft\\Windows\\SendTo\\verknüpfung.lnk");
LPCTSTR lpszIcon = ("");
CreateShortcut(lpszFileName, lpszShortcutDesc, lpszShortcutLocation, lpszShortcutPath, lpszIcon);
Als Rückgabe bekomme ich nichtmal einen Fehler... Kann mir bitte jemand helfen? .
lg