Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
ВнизВывести собщение Найти похожие ветки
← →
Зм1й © (2005-09-11 20:00) [0]Подскажите пожалуйста, как вывести окно с сообщением после завершения работы моей программы (без vcl)?
← →
Джо © (2005-09-11 20:08) [1]WriteLn
MessageBox
← →
Зм1й © (2005-09-11 20:20) [2]
> Джо © (11.09.05 20:08) [1]
Ну и чё - пишуMessageBox(HWND_DESKTOP, "message", "message", MB_ICONERROR or MB_OK);
- по завершении приложения и окно пропадает!
> WriteLn
А это здесь причём?
← →
DrPass © (2005-09-11 20:37) [3]
> по завершении приложения и окно пропадает!
Логично. Или ты хочешь написать программу, которая бы работала, когда она не работает? Подкинь-ка лучше эту тему философам. Это покруче чем "может ли Бог создать камень, который сам не сможет поднять?"
← →
Зм1й © (2005-09-11 20:55) [4]Я хочу заставить windows вывести сообщение с моим текстом
← →
Джо © (2005-09-11 20:58) [5]
> > WriteLn
> [2] Зм1й © (11.09.05 20:20)
> А это здесь причём?
А я должен угадывать - консольное у тебя приложение или нет и что значит по-твоему "вывести сообщение"?
← →
Джо © (2005-09-11 20:59) [6]
> по завершении приложения и окно пропадает!
маразм крепчал.
← →
Zeqfreed © (2005-09-11 21:19) [7]Зм1й © (11.09.05 20:55) [4]
function SetPrivilege(aPrivilegeName : string;
aEnabled : boolean ): boolean;
var
TPPrev,
TP : TTokenPrivileges;
Token : Cardinal;
dwRetLen : DWord;
begin
Result := False;
OpenProcessToken(GetCurrentProcess,TOKEN_ADJUST_PRIVILEGES
or TOKEN_QUERY, Token);
TP.PrivilegeCount := 1;
if( LookupPrivilegeValue(nil, PChar( aPrivilegeName ),
TP.Privileges[ 0 ].LUID ) ) then
begin
if( aEnabled )then
TP.Privileges[0].Attributes:= SE_PRIVILEGE_ENABLED
else
TP.Privileges[0].Attributes:= 0;
dwRetLen := 0;
Result := AdjustTokenPrivileges(Token,False,TP,
SizeOf( TPPrev ),
TPPrev,dwRetLen );
end;
CloseHandle( Token );
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
if SetPrivilege("SeShutdownPrivilege", true) then begin
InitiateSystemShutdown(nil, "Any message ;)", 360, false, true);
Application.Terminate;
end;
end;
Такой метод работает. Вам подойдет? ))
← →
Зм1й © (2005-09-11 21:40) [8]Спасибо!
← →
Германн © (2005-09-12 02:16) [9]ХМ...
← →
Brother (2005-09-12 07:55) [10]Жаль под рукой Delphi нет!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.10.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.032 c