Форум: Форум C++Разное
Новые темы: 00
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум C++

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Готовые наработки по WinAPI
 
 автор: ~AquaZ~   (13.01.2010 в 00:50)   письмо автору
 
 

[для поиска: win api, вин апи, microsoft visual studio, майкрософт микрософт маленькие и мягкие вижуал визуал студио, borland c++ builder, борланд борлэнд Си++ Си плюс плюс билдер буилдер, сборник рецептов, поверх всех окон]
Выкладываем готовые наработки по WinAPI И НИЧЕГО БОЛЬШЕ.
пишем всё ввиде

====== Название Наработки ======
её код
дополнительные инструкции

Начну.
====== Получить ID окна ======
HWND win = FindWindow(0, "Заголовок Вашего окна");

====== Поверх всех окон [вкл] ======
SetWindowPos(win, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE+SWP_NOSIZE);
win - id окна

====== Поверх всех окон [выкл] ======
SetWindowPos(win, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE+SWP_NOSIZE);
win - id окна

====== Флажок "Поверх всех окон" в Си++ Билдере ======
//Пусть имя флажка - OnTop
void __fastcall TForm1::OnTopClick(TObject *Sender)
{
   String c = Form1->Caption;
   Form1->Caption = "Любая строка, которая не может быть Caption`ом другого окна";
   HWND win = FindWindow(0, "Любая строка, которая не может быть Caption`ом другого окна");
   if (OnTop->Checked)
      SetWindowPos(win, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE+SWP_NOSIZE);
   else
      SetWindowPos(win, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE+SWP_NOSIZE);
   Form1->Caption = c;
}
Дважды кликнуть по Вашему флажку и скопировать в только-что созданную ф-цию тело этой ф-ции, поменять Form1 на имя Вашей формы, а OnTop - на имя Вашего флажка

  Ответить  
 
 автор: EXP   (13.01.2010 в 02:31)   письмо автору
998 байт
 
   для: ~AquaZ~   (13.01.2010 в 00:50)
 

+++++ неправильные окна ++++
#include <windows.h>
#pragma comment(linker, "/ENTRY:EntryPoint"// no main

char wTitle[]  ="xWinClass";
WNDCLASSEX wc = {sizeof(wc), CS_HREDRAW|CS_VREDRAW
, 0, 0, 0
, 0, 0, 0
, (HBRUSH) 6, 0, wTitle, 0};
PAINTSTRUCT PaintStruct;
HWND hWnd;

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
return DefWindowProc(hwnd,message,wParam,lParam);
}
int EntryPoint() {
HANDLE hRgn1, hRgn2, hRgn;
MSG msg;
wc.hInstance= GetModuleHandle(NULL);
wc.hIcon= LoadIcon(NULL, IDC_ARROW);
wc.hCursor= LoadCursor(NULL, IDC_ARROW);
wc.lpfnWndProc= WndProc;

 RegisterClassEx(&wc);
 hWnd = CreateWindowEx(0,wTitle,wTitle
 ,WS_OVERLAPPEDWINDOW|WS_CAPTION| WS_DLGFRAME,
CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,
0,0, (HINSTANCE) 0x400000,0);

hRgn1 = CreateEllipticRgn(20, 20, 80, 80);
hRgn2 = CreateEllipticRgn(120, 20, 180, 80);
hRgn = CreateRectRgn(0, 0, 600, 400);

CombineRgn(hRgn, hRgn1, hRgn2, RGN_XOR);
SetWindowRgn(hWnd, hRgn,TRUE);

ShowWindow(hWnd, SW_SHOWNORMAL);

while (GetMessage(&msg,0,0,0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
   ExitProcess( (UINT) msg.wParam );
return 0;
}
хотел как-то сделать зрачки чтобы следили за мышкой ,) но понял что надо делать другим путём
// переприкрепил, забыл убрать манифест

  Ответить  
 
 автор: ~AquaZ~   (13.01.2010 в 12:17)   письмо автору
 
   для: EXP   (13.01.2010 в 02:31)
 

====== Окна-глазки или окна-яйцы в Си++ Билдере ======
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{  //Основано на коде EXP`a
   /*** [__EXP`s EYES__] ***/
   HANDLE hRgn1, hRgn2, hRgn;
   String c = Form1->Caption;

   Form1->Caption = "ЫЫЫ Ни у кого нет такого Caption`а";
   HWND hWnd = FindWindow(0, "ЫЫЫ Ни у кого нет такого Caption`а");

   hRgn1 = CreateEllipticRgn(20, 20, 80, 80);
   hRgn2 = CreateEllipticRgn(120, 20, 180, 80);
   hRgn = CreateRectRgn(0, 0, 600, 400);

   CombineRgn(hRgn, hRgn1, hRgn2, RGN_XOR);
   SetWindowRgn(hWnd, hRgn,TRUE);

   Form1->Caption = c;
   /*** [/_EXP's EYES__] ***/
}
Скопировать тело данной ф-ции в конструктор формы и заменить Form1 на имя Вашей формы.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования