информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Где водятся OGRыЗа кого нас держат?Страшный баг в Windows
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
в твоем варианте 11.09.01 04:22  Число просмотров: 803
Автор: зю Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Когда FindWindow возвращает NULL, WM_QUIT получает текущий поток, GetMessage возвращает FALSE. Я так понимаю :)

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow)
{ 

  MSG mes;
  HWND wnd;

  SetTimer(NULL,1,1000,NULL);

  while(GetMessage(&mes, NULL,NULL,NULL)) 
  { 
    if(mes.message==WM_TIMER) if(wnd=FindWindow(NULL,"Калькулятор")) PostMessage(wnd,WM_QUIT,NULL,NULL); 
  }
  
  return 0;
}

---
<programming>
помогите с програмкой (API) 11.09.01 02:47  
Автор: делитант Статус: Незарегистрированный пользователь
<"чистая" ссылка>
вот эта программа по идее должна каждую секунду
закрывать Калькулятор
но это только по идее
#include "windows.h"
int WINAPI WinMain (HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow)
{
MSG mes;
SetTimer (NULL,1,1000,NULL);
while (GetMessage(&mes, NULL,NULL,NULL))
{
if(mes.message==WM_TIMER)
PostMessage (FindWindow(NULL,"Калькулятор"),WM_QUIT,NULL,NULL);
}
return 0;
}
помогите с програмкой (API) 11.09.01 02:56  
Автор: зю Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> вот эта программа по идее должна каждую секунду
> закрывать Калькулятор
> но это только по идее
> #include "windows.h"
> int WINAPI WinMain (HINSTANCE hInstance,HINSTANCE
> hPrevInstance, LPSTR lpCmdLine,int nCmdShow)
> {
> MSG mes;
> SetTimer (NULL,1,1000,NULL);
> while (GetMessage(&mes, NULL,NULL,NULL))
> {
> if(mes.message==WM_TIMER)
> PostMessage
> (FindWindow(NULL,"Калькулятор"),WM_QUIT,NULL,NULL);
> }
> return 0;
> }

int WINAPI WinMain (HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow) 
{ 
  while(TRUE) 
  { 
    Sleep(1000);
    PostMessage(FindWindow(NULL,"Калькулятор"),WM_QUIT,NULL,NULL); 
  } 
  return 0; 
} 

---
но это одно из решений. а что у меня неправельно 11.09.01 04:03  
Автор: делитант Статус: Незарегистрированный пользователь
<"чистая" ссылка>
[Win32] Почитай о функции SetTimer 11.09.01 11:56  
Автор: Cyril <sc> Статус: Member
<"чистая" ссылка>
В твоем коде
Сообщение от таймера к обработчик событий поступать не будет !!!
в твоем варианте 11.09.01 04:22  
Автор: зю Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Когда FindWindow возвращает NULL, WM_QUIT получает текущий поток, GetMessage возвращает FALSE. Я так понимаю :)

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance, LPSTR lpCmdLine,int nCmdShow)
{ 

  MSG mes;
  HWND wnd;

  SetTimer(NULL,1,1000,NULL);

  while(GetMessage(&mes, NULL,NULL,NULL)) 
  { 
    if(mes.message==WM_TIMER) if(wnd=FindWindow(NULL,"Калькулятор")) PostMessage(wnd,WM_QUIT,NULL,NULL); 
  }
  
  return 0;
}

---
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 1 s   Design: Vadim Derkach