ANTICHAT Forum
HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
НОВЫЕ ТОРГОВАЯ НОВОСТИ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 13.06.2008, 20:14
BlackSun
Познавший АНТИЧАТ
Регистрация: 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..
 
Ответить с цитированием

  #2  
Старый 13.06.2008, 14:00
_empty
Познающий
Регистрация: 22.03.2008
Сообщений: 63
С нами: 9546362

Репутация: 65
По умолчанию

создай новый проект , допиши в uses ShellApi

и вставь строчку в код -

ShellExecute(0,'open',PCHAR(cmd),nil,nil,SW_SHOWNO RMAL);


где cmd - rundll32 <полный путь и имя библиотеки>
если библиотека зарегестрирована в системе, то можно указать просто <имя>
 
Ответить с цитированием

  #3  
Старый 13.06.2008, 14:01
_empty
Познающий
Регистрация: 22.03.2008
Сообщений: 63
С нами: 9546362

Репутация: 65
По умолчанию

Цитата:
Глупый вопрос задаю... Но как сделать на делфи лоадер библиотеке dll ??
Напишите код пожайлуста =)
создай новый проект , допиши в uses ShellApi

и вставь строчку в код -

ShellExecute(0,'open',PCHAR(cmd),nil,nil,SW_SHOWNO RMAL);

где cmd - rundll32 <полный путь и имя библиотеки>
если библиотека зарегестрирована в системе, то можно указать просто <имя>
 
Ответить с цитированием

  #4  
Старый 13.06.2008, 23:30
Nick_Rimer
Новичок
Регистрация: 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' уже не вылезает, путь к файлу верный, почему же тогда ярлык не запускается?! неужели эту проблему решить невозможно?! глупо, что проект завис на такой мелочи..
 
Ответить с цитированием

  #5  
Старый 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 поставь. Так должно работать. По крайней мере у меня всё работает.
 
Ответить с цитированием

  #6  
Старый 15.06.2008, 00:19
0verbreaK
Постоянный
Регистрация: 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';
 
Ответить с цитированием

  #7  
Старый 17.06.2008, 15:15
Попрошайка
Новичок
Регистрация: 14.06.2007
Сообщений: 25
С нами: 9952322

Репутация: 6
По умолчанию

Цитата:
Сообщение от 0verbreaK  
Смысл тогда преобразование делать если тип PAnsiChar
Код:
S: PAnsiChar;
begin
S := 'C:\Program Files\Borland\Delphi7\Projects\A';
А я его и не предлогал. Код автора я почти не менял.
 
Ответить с цитированием

  #8  
Старый 15.06.2008, 00:37
Nick_Rimer
Новичок
Регистрация: 12.05.2008
Сообщений: 19
С нами: 9472418

Репутация: 2
По умолчанию

проблема зашла в такой край:
ярлыки на всякую муть - открывает..
ярлыки на любой экзешник - хрен!

что бы это значило?!?!
 
Ответить с цитированием

  #9  
Старый 15.06.2008, 01:06
Pir4tt
Участник форума
Регистрация: 03.01.2008
Сообщений: 104
С нами: 9659698

Репутация: 111
По умолчанию

Хэндл в nil ставь для exe'шников :
ShellExecute(0, nil, 'EXE.lnk', nil, nil, SW_SHOWNORMAL);
 
Ответить с цитированием

  #10  
Старый 15.06.2008, 01:50
Nick_Rimer
Новичок
Регистрация: 12.05.2008
Сообщений: 19
С нами: 9472418

Репутация: 2
По умолчанию

для Pir4tt:

СПАСИБО!!! ну, наконец-то вот так заработало:

Код:
ShellExecute(Handle, nil, PChar('a.lnk'), nil, s, SW_RESTORE)
УРА!!! )
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Wi-Fi, BT] Задай вопрос - получи ответ! Alexsize Беспроводные технологии/Wi-Fi/Wardriving 2571 20.06.2026 14:48
[jQuery] - Задай вопрос, получи ответ Isis PHP 62 25.12.2009 03:25



Здесь присутствуют: 8 (пользователей: 0 , гостей: 8)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.