Создать ярлык с диалоговым окномC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Создать ярлык с диалоговым окном

Сообщение Anonymous »

Как программно показать окно создания ярлыка на C++ с помощью WinAPI? Я знаю, как создать сам ярлык на C++, это можно сделать так:

Код: Выделить всё

#include "windows.h"
#include "winnls.h"
#include "shobjidl.h"
#include "objbase.h"
#include "objidl.h"
#include "shlguid.h"

HRESULT CreateLink(LPCWSTR lpszPathObj, LPCSTR lpszPathLink, LPCWSTR lpszDesc)
{
HRESULT hres;
IShellLink* psl;

// Get a pointer to the IShellLink interface. It is assumed that CoInitialize
// has already been called.
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);

// Query IShellLink for the IPersistFile interface, used 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;
}
#include 

int main()
{

CoInitialize(NULL);
std::wstring sourceFile = L"C:\\path\\to\\source\\file.txt";
std::string linkName = "C:\\path\\to\\file.lnk";
std::string comment = ""; // you can see comment in properties of the link
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79328952/create-a-shortcut-with-a-dialog-box[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Запуск нескольких экземпляров приложения продукта Eclipse RCP с диалоговым окном выбора рабочей области
    Гость » » в форуме JAVA
    0 Ответы
    36 Просмотры
    Последнее сообщение Гость
  • Запрос разрешения на фоновое местоположение с диалоговым окном
    Anonymous » » в форуме Android
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как отобразить наложение на наложение над диалоговым окном Android SAF (Framework) в Flutter?
    Anonymous » » в форуме Android
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Связь между родительским окном и всплывающим окном с разными доменами
    Anonymous » » в форуме Jquery
    0 Ответы
    65 Просмотры
    Последнее сообщение Anonymous
  • Python selenium Как взаимодействовать с диалоговым наложением
    Anonymous » » в форуме Python
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»