pekfos |
» 2011-11-06 19:17:22 to z DLL_API powinno być w porządku. Taki kod w sumie miałeś wkleić ale po co komu czytanie ze zrozumieniem.. masz w linkerze -luser32 ? |
|
kill Temat założony przez niniejszego użytkownika |
» 2011-11-06 19:21:46 dodałem teraz i kompiluje się ale po przyciśnięciu odpowiednich klawiszy nic się nie dzieje |
|
pekfos |
» 2011-11-06 19:22:31 daj kod programu. |
|
kill Temat założony przez niniejszego użytkownika |
» 2011-11-06 19:23:46 #include <windows.h> #include "dll.h"
typedef void( * VOIDFN )( void );
VOIDFN g_Play = NULL; VOIDFN g_Record = NULL; HINSTANCE g_hInstDLL = NULL;
LRESULT CALLBACK WindowProcedure( HWND, UINT, WPARAM, LPARAM );
char szClassName[] = "WindowsApp";
int WINAPI WinMain( HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil )
{ HWND hwnd; MSG messages; WNDCLASSEX wincl; wincl.hInstance = hThisInstance; wincl.lpszClassName = szClassName; wincl.lpfnWndProc = WindowProcedure; wincl.style = CS_DBLCLKS; wincl.cbSize = sizeof( WNDCLASSEX ); wincl.hIcon = LoadIcon( NULL, IDI_APPLICATION ); wincl.hIconSm = LoadIcon( NULL, IDI_APPLICATION ); wincl.hCursor = LoadCursor( NULL, IDC_ARROW ); wincl.lpszMenuName = NULL; wincl.cbClsExtra = 0; wincl.cbWndExtra = 0; wincl.hbrBackground =( HBRUSH ) COLOR_BACKGROUND; if( !RegisterClassEx( & wincl ) ) return 0; hwnd = CreateWindowEx( 0, szClassName, "Windows App", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 544, 375, HWND_DESKTOP, NULL, hThisInstance, NULL ); ShowWindow( hwnd, nFunsterStil ); HINSTANCE hInstDLL = LoadLibrary( "Projekt1.dll" ); g_Play =( VOIDFN ) GetProcAddress( hInstDLL, "StartPlayback" ); g_Record =( VOIDFN ) GetProcAddress( hInstDLL, "StartRecording" ); while( GetMessage( & messages, NULL, 0, 0 ) ) { TranslateMessage( & messages ); DispatchMessage( & messages ); } return messages.wParam; }
LRESULT CALLBACK WindowProcedure( HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam ) { switch( message ) { case WM_CREATE: { } break; case WM_DESTROY: PostQuitMessage( 0 ); break; case WM_KEYDOWN: { if( wParam == VK_F2 ) { g_Record(); } else if( wParam == VK_F3 ) { g_Play(); } } break; default: return DefWindowProc( hwnd, message, wParam, lParam ); } return 0; }
|
|
pekfos |
» 2011-11-06 19:24:56 sprawdzaj poprawność ładowanych procedur. |
|
kill Temat założony przez niniejszego użytkownika |
» 2011-11-06 19:32:31 żadna z nich(hInstDLL,g_Play i g_Record) nie jest równa null |
|
pekfos |
» 2011-11-06 19:34:33 a poprawność uchwytów HHOOK? |
|
kill Temat założony przez niniejszego użytkownika |
» 2011-11-06 19:38:46 g_RecordHook i g_PlaybackHook są równe NULL |
|
1 2 3 « 4 » 5 6 7 |