Форум: "WinAPI";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Вниззакрытие окна Найти похожие ветки
← →
lehich © (2004-06-01 17:50) [0]мастера подскажите как закрыть окно зная его заголовок??? причем обязательно чтобы подтверждение на его закрытие не выскакивало...
заранее премного благодарен...
← →
Cobalt © (2004-06-01 18:22) [1]А зачем?
Может, поступить проще?
← →
lehich © (2004-06-01 21:25) [2]каким образом???
← →
Cobalt © (2004-06-01 21:29) [3]Сначала ответь "А зачем?"
← →
lehich © (2004-06-01 21:41) [4]2Cobalt для того чтобы работники не могли отказаться от закрытия окан игр без подтверждения...))))
← →
GanibalLector © (2004-06-01 22:39) [5]postmessage(хендл ТОГО окна,wm_quit,0,0);
Пример: postmessage(findwindow( "Notepad",nil),wm_quit,0,0);
← →
lehich © (2004-06-02 10:55) [6]респект... сенкс...))))
← →
Cobalt © (2004-06-02 11:41) [7]2 lehich © (01.06.04 21:41) [4]
>2Cobalt для того чтобы работники не могли отказаться от закрытия
>окан игр без подтверждения...))))
А по-моему, намного прикольнее (если у вас такая проблема) чтобы пользователи каждую секунду отменяли закрытие игрушки ;-)
← →
lehich © (2004-06-02 17:26) [8]2GanibalLector конструкция:
postmessage(findwindow(PAnsiChar(nameish),nil),wm_quit,0,0);
//nameish :String
просто выкидывает из проекта...(((( и окно естественно не закрывает...
← →
Cobalt © (2004-06-02 21:53) [9]А что у вас в "nameish"?
И как она объявлена/заполняется?
← →
lehich © (2004-06-03 09:05) [10]2Cobalt
nameish := Edit1.Text;
← →
Cobalt © (2004-06-03 16:08) [11]А если добавить обработку ошибок?
типа,
hw:=findwindow(PAnsiChar(nameish),nil);
if hw<>0
then postmessage(hw,wm_quit,0,0);
← →
lehich © (2004-06-03 17:14) [12]ррррррррррррррррр... ну не закрываются окна.... блин помню же что поднимали эту тему... не могу найти...(((((( и помню что работало закрытие...(((((( подскажите плыз... очень нужно...
← →
Iraizor © (2004-06-03 17:28) [13]lehich ©
sendmessage(findwindow(nil,"SuperIgra"),wm_destroy,0,0);
← →
lehich © (2004-06-03 17:33) [14]нифига.... даже какой-то дряной "Калькулятор" прибить не может....((((((
слушайте может я что-то где-то не прописал??? или в мой генетический код вкралась ошибка??? ))))))))
← →
GanibalLector © (2004-06-03 22:17) [15]2 lehich ©
Ну ты даешь...
Для калькулятора : postmessage(findwindow( "SciCalc",nil),wm_quit,0,0);
Может проблема в имени класса окна? Тогда ищи IngSoft Windows Scanner!!!Лучше не бывает.
На счет едита: там нужно так findwindowex(findwindow("TForm1",nil),0,"TEdit",nil);
← →
Iraizor © (2004-06-04 07:23) [16]lehich ©
а , да сорри, ошибся вот так :sendmessage(findwindow(nil,"SuperIgra"),wm_close,0,0);
← →
lehich © (2004-06-04 10:08) [17]2GanibalLector откуда получить это название "SciCalc" ???
заранее премного благодарен...
← →
Iraizor © (2004-06-04 11:02) [18]lehich ©
ты проверил что я тебе написал ? вместо "SuperIgra" caption окна.
Я проверил - калькулятор валит на ура
SciCalc- это тип главного окна калька
← →
lehich © (2004-06-04 11:10) [19]так... стоп... что я делаю неправильно... почему например:
postmessage(findwindow( "Калькулятор",nil),wm_quit,0,0);
не пришибает его??? скорее всего я где-то путаю термины... caption "Калькулятор" или я не прав???
← →
lehich © (2004-06-04 11:15) [20]может будет так проще разобраться:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
nameish, namekon :String;
implementation
{$R *.dfm}
//замена заголовка окна
procedure TForm1.Button1Click(Sender: TObject);
begin
nameish := Edit1.Text;
namekon := Edit2.Text;
if findwindow(nil,PAnsiChar(nameish)) = 0
then showmessage ("Окно с таким заголовком отсутствует!!!")
else setwindowtext (findwindow(nil,PAnsiChar(nameish)),PAnsiChar(namekon));
end;
//возвращение к старому заголовку
procedure TForm1.Button2Click(Sender: TObject);
begin
setwindowtext (findwindow(nil,PAnsiChar(namekon)),PAnsiChar(nameish));
end;
//закрытие окна
procedure TForm1.Button3Click(Sender: TObject);
begin
postmessage(findwindow(PAnsiChar(nameish),nil),wm_quit,0,0);
end;
end.
← →
lehich © (2004-06-04 11:35) [21]хм.... бред.... пишу:
postmessage(findwindow(PAnsiChar("Калькулятор"),nil),wm_quit,0,0);
просто программка завершает работу (а не калькулятор)
пишу:
postmessage(findwindow(PAnsiChar("Сапер"),nil),wm_quit,0,0);
сапера прибивает...
пишу:
postmessage(findwindow(PAnsiChar(nameish),nil),wm_quit,0,0);
и ввожу в Edit1 название Сапер, тоже выкидывает... сапер естественно остается жить...)))))) ваще запутался...
← →
Iraizor © (2004-06-04 17:06) [22]мля , че не ясного я написал ?!
sendmessage(findwindow(nil,"Калькулятор"),wm_close,0,0);
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2004.07.18;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.04 c