Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.041 c
14-1088691419
Andy BitOff
2004-07-01 18:16
2004.07.18
Фотоприкол.


4-1086376641
k@rt
2004-06-04 23:17
2004.07.18
Как обновить реестр?


1-1089051854
xman
2004-07-05 22:24
2004.07.18
memo или richedit


14-1088510327
VictorT
2004-06-29 15:58
2004.07.18
Что за ошибка? 509 - Bandwidth Limit Exceeded


1-1088639295
NightDevil
2004-07-01 03:48
2004.07.18
Изображение в TMEMO





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский