|
Вопрос # 2 454/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Как можно реализовать? -
например если поместить эту команду в .cmd файл или ярлык, она будет работать: rundll32.exe powrprof.dll,SetSuspendState Sleep
а при нажатии кнопки в приложении такое сделать не получается.
Я пробовал сделать так (код в приложении).
Так же нужно учесть, что сам файл находится в C:\Windows\System32\
p.s. надеюсь вы поняли, что я имею в виду (:
Приложение: Переключить в обычный режим- procedure TForm1.BitBtn1Click(Sender: TObject);
- begin
- ShellExecute(Handle,'open','rundll32.exe powrprof.dll,SetSuspendState Sleep',nil,nil,0);
- end;
 |
Вопрос задал: Northwind (статус: Посетитель)
Вопрос отправлен: 25 февраля 2009, 19:42
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Попробуй вот так:
{
HINSTANCE ShellExecute(
HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename or folder name string
LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
ShellExecute(Handle,
'open',
'rundll32.exe',
'"powrprof.dll,SetSuspendState Sleep"', // <-- Параметры - отдельно и в кавычках
nil,
0);
end;
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 26 февраля 2009, 09:33
|
Мини-форум вопроса
Всего сообщений: 4; последнее сообщение — 26 февраля 2009, 17:27; участников в обсуждении: 3.
|
Вадим К (статус: Академик), 25 февраля 2009, 19:54 [#1]:
Цитата:
Так же нужно учесть, что сам файл находится в C:\Windows\System32\
Этот каталог обычно добавлен PATH и учитывать особо не нужно.
Первое, что приходит в голову - антивирус/фаервол не дает запустить. Либо нехватает прав (не под администраторским аккаунтом)
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Northwind (статус: Посетитель), 25 февраля 2009, 22:30 [#2]:
т.е. сам код как бы правильный? может есть еще какие вариации Handle,'open' (run и т.п.)?
с правами все норм, антивирус ничего не блокирует.
|
|
Northwind (статус: Посетитель), 26 февраля 2009, 17:14 [#3]:
к сожалению не помогло(
|
|
Пупкин В В (статус: 2-ой класс), 26 февраля 2009, 17:27 [#4]:
ShellExecute(Handle,'open','rundll32.exe','powrprof.dll,SetSuspendState',nil,0);
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|