
13.06.2008, 20:14
|
|
Познавший АНТИЧАТ
Регистрация: 01.04.2007
Сообщений: 1,268
С нами:
10058786
Репутация:
4589
|
|
Сообщение от SNAIPER ShoT
Глупый вопрос задаю... Но как сделать на делфи лоадер библиотеке dll ??
Напишите код пожайлуста =)
hDll := LoadLibrary('you_dll.dll');
-----
ShellExecute(Handle, 'open', 'brcc32.exe.lnk', nil, s, SW_RESTORE);
ShellExecute(Handle, 'open', PChar(S + 'brcc32.exe.lnk'), nil, s, SW_RESTORE);
Последний раз редактировалось BlackSun; 13.06.2008 в 20:16..
|
|
|

13.06.2008, 14:00
|
|
Познающий
Регистрация: 22.03.2008
Сообщений: 63
С нами:
9546362
Репутация:
65
|
|
создай новый проект , допиши в uses ShellApi
и вставь строчку в код -
ShellExecute(0,'open',PCHAR(cmd),nil,nil,SW_SHOWNO RMAL);
где cmd - rundll32 <полный путь и имя библиотеки>
если библиотека зарегестрирована в системе, то можно указать просто <имя>
|
|
|

13.06.2008, 14:01
|
|
Познающий
Регистрация: 22.03.2008
Сообщений: 63
С нами:
9546362
Репутация:
65
|
|
Глупый вопрос задаю... Но как сделать на делфи лоадер библиотеке dll ??
Напишите код пожайлуста =)
создай новый проект , допиши в uses ShellApi
и вставь строчку в код -
ShellExecute(0,'open',PCHAR(cmd),nil,nil,SW_SHOWNO RMAL);
где cmd - rundll32 <полный путь и имя библиотеки>
если библиотека зарегестрирована в системе, то можно указать просто <имя>
|
|
|

13.06.2008, 23:30
|
|
Новичок
Регистрация: 12.05.2008
Сообщений: 19
С нами:
9472418
Репутация:
2
|
|
что-то ничего не выходит.. пишу так:
Код:
s:=PChar('C:\Program Files\Borland\Delphi7\Projects\A');
case
ShellExecute(Handle, 'open', PChar(s+'brcc32.exe.lnk'), nil, s, SW_RESTORE) of
2: ShowMessage('wrong');
end;
все равно ничего не выходит.. сообщение 'wrong' уже не вылезает, путь к файлу верный, почему же тогда ярлык не запускается?! неужели эту проблему решить невозможно?! глупо, что проект завис на такой мелочи..
|
|
|

14.06.2008, 19:49
|
|
Новичок
Регистрация: 14.06.2007
Сообщений: 25
С нами:
9952322
Репутация:
6
|
|
var
S: PAnsiChar;
begin
S := PChar ('C:\Program Files\Borland\Delphi7\Projects\A');
case ShellExecute(Handle, 'open', PChar (S+'\brcc32.exe.lnk'), nil, s, SW_RESTORE) of
2: ShowMessage('wrong');
end;
BackSlash поставь. Так должно работать. По крайней мере у меня всё работает.
|
|
|

15.06.2008, 00:19
|
|
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
С нами:
9489537
Репутация:
136
|
|
Сообщение от Попрошайка
var
S: PAnsiChar;
begin
S := PChar ('C:\Program Files\Borland\Delphi7\Projects\A');
case ShellExecute(Handle, 'open', PChar (S+'\brcc32.exe.lnk'), nil, s, SW_RESTORE) of
2: ShowMessage('wrong');
end;
BackSlash поставь. Так должно работать. По крайней мере у меня всё работает.
Смысл тогда преобразование делать если тип PAnsiChar
Код:
S: PAnsiChar;
begin
S := 'C:\Program Files\Borland\Delphi7\Projects\A';
|
|
|

17.06.2008, 15:15
|
|
Новичок
Регистрация: 14.06.2007
Сообщений: 25
С нами:
9952322
Репутация:
6
|
|
Сообщение от 0verbreaK
Смысл тогда преобразование делать если тип PAnsiChar
Код:
S: PAnsiChar;
begin
S := 'C:\Program Files\Borland\Delphi7\Projects\A';
А я его и не предлогал. Код автора я почти не менял.

|
|
|

15.06.2008, 00:37
|
|
Новичок
Регистрация: 12.05.2008
Сообщений: 19
С нами:
9472418
Репутация:
2
|
|
проблема зашла в такой край:
ярлыки на всякую муть - открывает..
ярлыки на любой экзешник - хрен!
что бы это значило?!?!
|
|
|

15.06.2008, 01:06
|
|
Участник форума
Регистрация: 03.01.2008
Сообщений: 104
С нами:
9659698
Репутация:
111
|
|
Хэндл в nil ставь для exe'шников  :
ShellExecute(0, nil, 'EXE.lnk', nil, nil, SW_SHOWNORMAL);
|
|
|

15.06.2008, 01:50
|
|
Новичок
Регистрация: 12.05.2008
Сообщений: 19
С нами:
9472418
Репутация:
2
|
|
для Pir4tt:
СПАСИБО!!! ну, наконец-то вот так заработало:
Код:
ShellExecute(Handle, nil, PChar('a.lnk'), nil, s, SW_RESTORE)
УРА!!!  )
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 8 (пользователей: 0 , гостей: 8)
|
|
|
|