Финальная сборка Dll

  • Автор темы Автор темы solova
  • Дата начала Дата начала
S

solova

Длл с хуком<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">.h</div></div><div class="sp-body"><div class="sp-content">
C++:
#ifdef H_EX
#define H __declspec(dllexport)
#else
#define H __declspec(dllimport)
#endif
static HHOOK hH=0;
static HANDLE hD=0;
H BOOL IH(DWORD,HWND);
H BOOL DH(void);
LRESULT __stdcall CB(int,WPARAM,LPARAM);
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">.cpp</div></div><div class="sp-body"><div class="sp-content">
C++:
#include "stdafx.h"
#include "hook.h"
#pragma data_seg("md")
HWND hP=0;
#pragma data_seg()
#pragma comment(linker,"/SECTION:md,RWS")
BOOL APIENTRY DllMain(HANDLE hM,DWORD r, LPVOID)
{
switch(r){
case 1: hD=hM;break;
case 0: SendMessage(hP,WM_USER+200,0,0);break;}
return 1;
}
H BOOL DH(void){UnhookWindowsHookEx(hH);return TRUE;}
H BOOL IH(DWORD Th,HWND hE){
hP=hE;
hH = SetWindowsHookEx(4,CB,(HINSTANCE)hD,Th);
return 1;}
LRESULT __stdcall CB(int C,WPARAM w,LPARAM lP)
{
if(C >= 0)
{
CWPSTRUCT *s=(CWPSTRUCT*)lP;
if((s->message)==0x0111&&(LOWORD(s->wParam)==57667))
SendMessage(hP,WM_USER+300,0,0);
}
return CallNextHookEx(hH,C,w,lP);
}
при компиляции /MD--7.5Kb , /MT--41Kb как я понял подключается к проекту какая то MSVCR90.dll.
подключая эту "MSVCR90.dll" я по лицензии ни чего не нарушаю?
И ещё, нужен ли манифест Длл-ке?
 
А Microsoft Visual Studio лицензионная? Это её библиотека:
 
Блин у меня же лицуха что же я парюсь. Тем более в некоммерческих целях буду использовать.
Или всё таки стоит задуматься на тему можно/нельзя?
Хотя каждый может скачать Microsoft Visual C++ 2008 Redistributable Package и там эти библы есть.
Но как то не особо будет посылать знакомых, скачивать ещё что то.

А насчёт манифеста?
если я не ошибаюсь он нужен для Windows-вых Stylе-ов. а к длл это ведь не особо относится.
 
Манифест вроде ещё нужен для работы Side by Side. Для определения точной версии DLL-ки

если не нравится MSVCR90.dll, можно скомпилировать статически, тогда зависимостей не будет.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!