Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.18;
Скачать: CL | DM;

Вниз

закрытие окна   Найти похожие ветки 

 
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 вся ветка

Текущий архив: 2004.07.18;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.029 c
1-1088825202
zac
2004-07-03 07:26
2004.07.18
Не запускать два раза


1-1089120315
onics
2004-07-06 17:25
2004.07.18
Русская кодировка в *.txt файле (2)


1-1089126602
Buster
2004-07-06 19:10
2004.07.18
Как написать у CheckBox текст в две строки?


3-1087533372
rosl
2004-06-18 08:36
2004.07.18
количество рабочих дней


3-1087545317
Ditrix
2004-06-18 11:55
2004.07.18
параметры страницы для PrintDBGridEh