Форум программистов, компьютерный форум, киберфорум
Delphi
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 07.08.2014
Сообщений: 4
1

Как найти в системе ярлык (.lnk) с определенными свойствами?

26.10.2014, 10:00. Просмотров 1335. Ответов 4
Метки нет (Все метки)

Под свойствами я имею ввиду какую программу запускает(Google Chrome к примеру).

Еще нужно изменить свойство называющееся "Объект".

Пока что я не нашел ни одной библиотеки или функции в Delphi, а если и нашел, не понял как сними работать.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.10.2014, 10:00
Ответы с готовыми решениями:

Придумать отношение с определенными свойствами
Никак не получается построить на бесконечном множестве отношение, обладающее свойствами...

Сколько 9-буквенных слов ( с определенными свойствами) можно составить?
В древнем языке 22 согласных и 5 гласных, причем при составлении слов никакие две гласные идти...

Модуль Whirlpool домино, замена микросхемы lnk 304 pn на lnk 305 pn
Всем прывет в модуле сгарела микросхема lnk 304 pn под рукой аказалась lnk 305 pn она падходит.

Работа с tinyxml ошибки LNK 2019 и LNK 2001
всем привет! скачал архив tinyxml, разархивировал в папку проекта затем написал следующий код: ...

4
70 / 70 / 23
Регистрация: 14.10.2013
Сообщений: 528
26.10.2014, 11:10 2
Если открыть НЕХ редактором ярлык, то там можно найти интересующую вас информацию. Первое что пришло в голову, то работать с ярлыком как с бинарным файлом. Хотя может и винда что-то предоставляет.
0
154 / 297 / 47
Регистрация: 14.08.2012
Сообщений: 2,578
26.10.2014, 13:08 3
СпАсИбА_УчИтЭл, ищи по ярлык по названию exe, который он открывает.
0
пофигист широкого профиля
4173 / 2716 / 770
Регистрация: 15.07.2013
Сообщений: 15,796
27.10.2014, 02:11 4
Цитата Сообщение от СпАсИбА_УчИтЭл Посмотреть сообщение
Пока что я не нашел ни одной библиотеки или функции в Delphi
Искать тебе и искать!
0
58 / 48 / 25
Регистрация: 17.12.2013
Сообщений: 221
27.10.2014, 07:08 5
вынуть из ярлыка поле объект (путь к файлу):

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
uses
{...,} ShlObj, ComObj, ActiveX; 
 
function GetFileNameFromLink( LinkFileName: string ): string; 
var
  MyObject: IUnknown; 
  MySLink: IShellLink; 
  MyPFile: IPersistFile; 
  FileInfo: TWin32FINDDATA; 
  WidePath: array[0..MAX_PATH] of WideChar; 
  Buff: array[0..MAX_PATH] of Char; 
begin
  Result := ''; 
  if ( FileExists( LinkFileName ) = false ) then
  Exit; 
  MyObject := CreateComObject( CLSID_ShellLink ); 
  MyPFile := MyObject as IPersistFile; 
  MySLink := MyObject as IShellLink; 
  StringToWideChar( LinkFileName, WidePath, SizeOf( WidePath ) ); 
  MyPFile.Load( WidePath, STGM_READ ); 
  MySLink.GetPath( Buff, MAX_PATH, FileInfo, SLGP_UNCPRIORITY ); 
  Result := buff; 
end; 
 
procedure TForm1.Button1Click(Sender: TObject); 
begin
  ShowMessage( GetFileNameFromLink( 'C:\NOTEPAD.lnk' ) ); 
end;
Изменить свойства ярлыка (прочесть свойства старого, удалить его и создать новый):

Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
procedure CreateLink(const PathObj, PathLink, Desc, Param, IconFile: string; IconNumbr: Integer);
var
  IObject: IUnknown; 
  SLink: IShellLink;
  PFile: IPersistFile;
begin
  IObject := CreateComObject(CLSID_ShellLink);
  SLink := IObject as IShellLink;
  PFile := IObject as IPersistFile;
  with SLink do begin
    SetPath(PChar(PathObj));
    SetIconLocation( PChar( IconFile ), IconNumbr);
    SetArguments(PChar(Param));
    SetDescription(PChar(Desc));
  end;
  PFile.Save(PWChar(WideString(PathLink)), FALSE);
end; 
 
// PathObj - путь к файлу
//  PathLink  - путь куда будет сохранён ярлык
// Desc - отображаемое сообщение при наведении курсора
// Param - параметры командмой строки 
// IconFile - путь к файлу-иконке 
//  IconNumbr - номер иконки ресурса
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.10.2014, 07:08

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

LNK 2019 ссылка на неразрешенный внешний символ в функции _main; LNK 1120 неразрешенных внешних элементов: 1
#include "stdafx.h" #include <iostream> #include <fstream> #include <string.h> #include...

Ошибки LNK 2005, LNK 1169
Не могу найти ошибку в проге: functions.h ----------- #include <iostream> #include <iomanip>...

Как создать ярлык на раб.столе без IWshInterop и как найти символы в строке
1 вопрос связан с ярлыками. Как создать ярлык на рабочем столе БЕЗ IWshInterop? Эта самая либа не...

Вирус создает в каждой папке ярлык MyMusic и ярлык папки в которой находиться
Вирус создает в каждой папке ярлык MyMusic и ярлык папки в которой находиться. Оба ярлыка ссылаются...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.