Вниз
Скачать: CL | DM;

Почему *.cpl не запускаются?   Найти похожие ветки 

← →
-=GaLaN=- ©   (2003-08-07 10:53) [0]

Пробую запустить файлы *.cpl через ShellExecute, функцию, которая по идее, открывает файл в ассоциированной с ним программе. Однако ничего не происходит. Через rundll32.exe вручную запускать неинтересно - не универсально + кто знает, может еще есть такие случаи, когда файл не запускается?
Аналогично не понятно как запускать файлы типа ярлыков на интернет-соединения.
Помогите, пожалуйста, найти ответы на эти вопросы!


← →
clickmaker ©   (2003-08-07 11:36) [1]

На самом деле cpl не связано явно с панелью управления

var
szDir: array[0..MAX_PATH] of char;

GetSystemDirectory(szDir, SizeOf(szDir));
if ShellExecute(Handle, "open", "control.exe", PChar(string(szDir) + "\appwiz.cpl"), nil, SW_SHOWNORMAL) < 33 then
RaiseLastWin32Error;


← →
KDS ©   (2003-08-07 11:37) [2]

Ну и приведи код которым ты запускаешь этот ЦПЛ, может там глючёк


← →
clickmaker ©   (2003-08-07 11:37) [3]

Можно даже так:

ShellExecute(Handle, "open", "control.exe", "appwiz.cpl", nil, SW_SHOWNORMAL);


← →
-=GaLaN=- ©   (2003-08-08 11:44) [4]

Запускаю так:
ShellExecute(Handle, "open", "C:\WINDOWS\SYSTEM32\desk.cpl", nil, nil, SW_SHOWNORMAL);
По идее запуск через эту функцию - аналог двойного щелчка в Проводнике, разве нет?


← →
clickmaker ©   (2003-08-08 13:22) [5]

В случае с cpl нет.
Если заглянешь сюда
HKEY_CLASSES_ROOT\cplfile\shell\cplopen\command
то увидишь там такую команду
rundll32.exe shell32.dll,Control_RunDLL %1,%*

Её то и можно подставить в ShellExecute



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
3-68199
Flint
2003-07-28 13:27
2003.08.21
Изменение таблицы в Interbase


14-68456
Всеволод Соловьёв
2003-08-04 08:55
2003.08.21
Картынка


14-68452
GreySerg
2003-08-06 13:06
2003.08.21
Как сделать , чтобы не создавались файлы с расширением ddp ?


1-68368
Akvilon
2003-08-08 01:22
2003.08.21
TListView.Column(s) - как?


3-68224
М. Дмитрий
2003-07-27 20:01
2003.08.21
Имена таблиц в MSAccess?




   Наверх