Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 421 • Страница 8 из 22<  1 ... 5  6  7  8  9  10  11 ... 22  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
у тебя в windows.h нет того, что нужно.. старый билдер? или возьми библиотеки майкрософт.. ну или делаем так:

Код:

#include <windows.h>

#define LWA_COLORKEY            0x00000001
#define LWA_ALPHA               0x00000002
#define WS_EX_LAYERED           0x00080000
.......

{

BOOL  (*SetLayeredWindowAttributes)(HWND hwnd,
                    COLORREF pcrKey,
                    BYTE pbAlpha,
                    DWORD pdwFlags);

HMODULE lib = LoadLibrary("user32.dll");

SetLayeredWindowAttributes =
          (BOOL
           (*)(HWND hwnd, COLORREF , BYTE , DWORD ))
          GetProcAddress(lib, "SetLayeredWindowAttributes");



HWND hwnd;
char lpszZagolovok[4096];

strcpy(lpszZagolovok, "continent");


hwnd = FindWindowEx(NULL, NULL, NULL, lpszZagolovok);



LONG L = GetWindowLong(hwnd, GWL_EXSTYLE);
L |= WS_EX_LAYERED;
SetWindowLong(hwnd, GWL_EXSTYLE, L);

BYTE alpha = 100;
SetLayeredWindowAttributes(hwnd, 0, alpha, LWA_ALPHA);

}


_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)



Партнер
 

Member
Статус: Не в сети
Регистрация: 30.05.2005
Anoss :beer: ура..заработало !!!!
:dance: :dance: :dance: :dance:
Добавлено спустя 1 час, 30 минут, 24 секунды
Anoss ты кстати прав у меня 4-й билдер - рекомендуешь обновить?
ещё вот что.. я для запуска приложений из приложения на билдере использую _wsystem()
но она очень неудобная т.к. вызывает командый процессор windows и возвращает управление только после окончания запущенного приложения, не знаешь, есть ли более удобный механизм и чтобы билдер сразу после старта сторолннего приложения сразу получал на себя управление???

если не трудно то лучше сразу код :)

зы: готов реально поставить тебе пиво за помощь!!!

_________________
Please donate : LP1rBRsaEHaLPYVEkasee9u5LkKNvr97Ta (LTC)


 

Member
Статус: Не в сети
Регистрация: 30.05.2005
а никто не подскажет каким образом послать стороннему приложению событие о нажатии на клавишу f11 например ???

_________________
Please donate : LP1rBRsaEHaLPYVEkasee9u5LkKNvr97Ta (LTC)


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
norlang

PostMessage(Handle, WM_KEYDOWN, VK_F11, 0);

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Member
Статус: Не в сети
Регистрация: 30.05.2005
а никто не знает можно ли использовать картинки из ImageList в качестве картинки для button например???
если можно то как???

_________________
Please donate : LP1rBRsaEHaLPYVEkasee9u5LkKNvr97Ta (LTC)


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
norlang ну можно в принципе конечно..)

ImageList1->GetBitmap(0, BitBtn1->Glyph);

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Member
Статус: Не в сети
Регистрация: 30.05.2005
Anoss а наоборот можно.. в BitBtn1->Glyph из ImageList1

_________________
Please donate : LP1rBRsaEHaLPYVEkasee9u5LkKNvr97Ta (LTC)


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
эм.. так и есть.. ImageList1->GetBitmap(0, BitBtn1->Glyph);
Добавлено спустя 1 минуту, 12 секунд
ImageList1->GetBitmap(индекс картинки, куда засунуть);

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Member
Статус: Не в сети
Регистрация: 12.07.2005
Откуда: Млечный путь
Осенью буду делать курсач на Билдере. Хочу сделать что-то связанное с железом, может что-то вроде информационной утилиты о процессоре к примеру, или менеджер мобильного процессора. Может кто-то писал что-то подобное, поделитесь опытом, или может есть хороший материал на эту тему? Кол-во билдера в работе может быть минимальным, просто в качестве GUI

_________________
В этом мире меня подводят доброта и порядочность...


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
?Am(d)ber? опыт у меня есть, скоро выложу последние сорцы информера, там и первая тема и вторая.

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 12.07.2005
Откуда: Млечный путь
Ааа, я вспомнил, точно - Cpu Informer! Помню, что где-то видел процесс разработки. Пойду читать топик...
Код там будет выложен?
Добавлено спустя 5 минут, 17 секунд
Блин, 50 страниц, там что-нибудь относительно разработки программы? Или только отлов ошибок? Если не трудно дай линки, может где-то есть материал по теме?

_________________
В этом мире меня подводят доброта и порядочность...


 

Member
Статус: Не в сети
Регистрация: 30.05.2005
может у кого есть код с работающей функцией GetFileVersionInfo ???

_________________
Please donate : LP1rBRsaEHaLPYVEkasee9u5LkKNvr97Ta (LTC)


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
Код:

unsigned int size, cbTranslate, dwBytes;
char *pBlock, *lpBuffer;
char path[256], SubBlock[512];

struct LANGANDCODEPAGE {
  WORD wLanguage;
  WORD wCodePage;
} *lpTranslate;


strcpy(path,"C:\\windows\\explorer.exe");


if(size = GetFileVersionInfoSize(path,0))
{
  pBlock = new char[size];

  GetFileVersionInfo(path,0,size,pBlock);

  // получаем список языков и кодовых страниц.

  VerQueryValue(pBlock,
              "\\VarFileInfo\\Translation",
              (LPVOID*)&lpTranslate,
              &cbTranslate);

  //поехали по каждой кодовой странице
  for(DWORD i=0; i < (cbTranslate/sizeof(struct LANGANDCODEPAGE)); i++ )
  {
    sprintf(SubBlock,
            "\\StringFileInfo\\%04x%04x\\FileDescription",

    /*
    тут может быть вместо FileDescription:

    Comments, InternalName, ProductName,
    CompanyName, LegalCopyright, ProductVersion,
    FileDescription, LegalTrademarks, PrivateBuild,
    FileVersion, OriginalFilename, SpecialBuild */

    lpTranslate[i].wLanguage,
    lpTranslate[i].wCodePage);


    VerQueryValue(pBlock,
                SubBlock,
                (LPVOID*)&lpBuffer,
                &dwBytes);

    ShowMessage(lpBuffer);  // в lpBuffer — результат
  }

  delete[] pBlock;
  if(lpBuffer) delete[] lpBuffer;
}


_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


 

Member
Статус: Не в сети
Регистрация: 16.04.2004
Откуда: [MSK.RU]
?Am(d)ber?
Цитата:
Блин, 50 страниц, там что-нибудь относительно разработки программы? Или только отлов ошибок?

Там по очереди :) Сначала относительно разработки программы, потом отлов ошибок в очередной версии и так далее.


Собственно, у меня вопрос по теме.
Написал перехватчик клавиатуры/мыши. Это dll-ка, которая цепляется ко всем запускаемым приложениям и посылает сообщения в обработчик, сидящий в управляющей программе. Пересылает она всё примерно в том же виде, что получается на входе функции:
Код:
LRESULT CALLBACK MouseHook(int nCode, WPARAM wParam, LPARAM lParam)
{
...
SendMessage(win_handle,WM_USER,wParam, lParam);
...
}

В lParam - указатель на структуру MOUSEHOOKSTRUCT.
В управляющей программе есть функция обработки сообщения
Код:
void __fastcall TfMain::GetMMsg(TMessage& Message)
{
 ...
 MOUSEHOOKSTRUCT *ctas;
 ctas=(MOUSEHOOKSTRUCT*)(Message.LParam);
 HWND win_handle=ctas->hwnd;
 ...
}


При запуске программы (F9) выдаётся какая-то ошибка (не видно, что там написано!) и всё виснет нафиг. Помогает только ресет...
При этом, если программу Make, а потом запустить (Пуск->Выполнить...), она работает нормально.
Правда, если эта программка уже висит в бэкграунде, BC++B не запускается, а падает с ошибкой ("Память не может быть read")...

В чём тут дело?


 

Member
Статус: Не в сети
Регистрация: 14.01.2004
Откуда: Киев, Украина
Tod Schwarzkaiser ну если Access violation, значит в lparam не указатель на структуру, а какая-то ерунда или просто NULL, так что передер доступом к этой структуре добавь проверку на NULL.

_________________
Ку ку


 

Member
Статус: Не в сети
Регистрация: 16.04.2004
Откуда: [MSK.RU]
Daemon
Не помогает...

Всё с этой программулиной работает нормально, кроме С++В... Не дружит он с ней.
А по заданию именно он и обязан дружить...
Видимо, придётся выходить из положения, пересылая хэндл текущего окна вместо указателя на структуру, откуда он берётся сейчас... Ведь dll-ка цепляется к приложению и при
Код:
HWND awin=GetActiveWindow();

в awin - хэндл именно того окна, в которое мышей постучали...


 

Member
Статус: Не в сети
Регистрация: 12.07.2005
Откуда: Млечный путь
В Билдере есть встроеные функции для работы с процессором(всмысле определение модели cpu) или нужны собственные функции?

_________________
В этом мире меня подводят доброта и порядочность...


 

Member
Статус: Не в сети
Регистрация: 16.04.2004
Откуда: [MSK.RU]
?Am(d)ber?
Цитата:
В Билдере есть встроеные функции для работы с процессором(всмысле определение модели cpu) или нужны собственные функции?

Нужно знать "фишку" cpuid...
Получаешь значение нужного (нужных) регистра(ов)
Код:
Cardinal teax,tebx,tecx,tedx,level;
// te?x = cpuid reg. values
// level = cpuid level
asm
  {
   pushad
   mov eax,level
   cpuid
   mov teax,eax
   mov tebx,ebx
   mov tecx,ecx
   mov tedx,edx
   popad
  }

и бегом на sandpile.org за расшифровкой :)


 

Member
Статус: Не в сети
Регистрация: 27.02.2005
Как скомпилить прогу, чтобы она могла запуситться на компе, у которого не установлен билдеер?

ПыСы - я не нуб ))


 

Member
Статус: Не в сети
Регистрация: 01.04.2005
Откуда: Москва-Лубянка
ermol

#77
#77

_________________
AnossovPavel в проекте F@H (TSC!Russia)
退屈な祖父 ¤ παππούς ¤ («клан дедов»)


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 421 • Страница 8 из 22<  1 ... 5  6  7  8  9  10  11 ... 22  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan