@Ozzzzi

Как дописать параметр запуска ярлыка через программу?

Здравствуйте!

Скажем, есть ярлык (*.lnk):
[oбъект: "C:\Games\Counter-Strike\hl.exe"]

Запускаем программу, находит этот файл(*.lnk) и изменяет:

[объект: "C:\Games\Counter-Strike\hl.exe" - game cstike]

В общем, подскажите код на С++.
  • Вопрос задан
  • 3719 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Примерно так на голом COM:
IPersistFile *ipf;
  IShellLinkA *isl;
  HRESULT rc;

  rc=CoInitialize(NULL);
  rc=CoCreateInstance(CLSID_ShellLink,0,CLSCTX_INPROC_SERVER,IID_IPersistFile,(void**)&ipf);
  rc=ipf->Load(L"something.lnk",0);
  rc=ipf->QueryInterface(IID_IShellLinkA,(void**)&isl);
  rc=isl->SetArguments("- game cstike");
  rc=ipf->Save(L"something.lnk",1);
  ipf->Release();
  isl->Release();
  CoUninitialize();


По деталям интерфейса IShellLink см. msdn.microsoft.com/en-us/library/windows/desktop/b...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы