szymeczek31 Temat założony przez niniejszego użytkownika |
[winAPI] otwieranie pliku » 2014-06-07 22:12:22 Jak w temacie - chcę otworzyć plik przez eksplorator windows za pomocą mojego programu(WM_RBUTTONDOWN na pliku i w menu kontekstowym "Otwórz za pomocą..." i tam mój program :D .) Dam kod WinMain'a. Dla Adminów - nie, wujek google mi nie wytłumaczył. Kod:int WINAPI WinMain( HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR hParam, int hStyl ) { LPWSTR * Arg; int iloscArg; Arg = CommandLineToArgvW( GetCommandLineW(), & iloscArg ); if( iloscArg != 1 ) { hPlik = CreateFile(( const CHAR * ) Arg[ 1 ], GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL ); if( hPlik == INVALID_HANDLE_VALUE ) { mb( "INVALID_HANDLE_VALUE" ); return 0; } dwRozmiar = GetFileSize( hPlik, NULL ); if( dwRozmiar == 0xFFFFFFFF ) { mb( "0xFFFFFFFF" ); return 0; } Bufor =( LPSTR ) GlobalAlloc( GPTR, dwRozmiar + 1 ); if( Bufor == NULL ) { mb( "Bufor = NULL" ); return 0; } if( !ReadFile( hPlik, Bufor, dwRozmiar, & dwPrzeczyt, NULL ) ) { mb( "Nie wczytano pliku" ); return 0; } Bufor[ dwRozmiar ] = 0; } okno = SworzOkno( hThisInstance ); hEdit = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", NULL, WS_CHILD | ES_MULTILINE | WS_VSCROLL | ES_AUTOVSCROLL | WS_HSCROLL | ES_AUTOHSCROLL, 5, 5, 485, 440, okno,( HMENU ) ID_EDIT, hThisInstance, NULL ); SetWindowText( hEdit, Bufor ); ShowWindow( hEdit, SW_MAXIMIZE ); UstawCzcionke( hEdit, hNormalFont ); return zakoncz(); }
Jak komuś się moje funkcje nie kompilują to mogą se zrobić albo o nie poprosić :P. O i dodałem nagłówek #include "Shellapi" jakby ktoś się pytał. |
|
pekfos |
» 2014-06-07 22:33:18 |
|
szymeczek31 Temat założony przez niniejszego użytkownika |
» 2014-06-10 15:41:34 chodzi o to, że ja go próbuje otworzyć moim programem i jest INVALID_HANDLE_VALUE :P a link mi nie pomógł |
|
pekfos |
» 2014-06-10 15:58:13 ( const CHAR * ) Arg[ 1 ]
|
To nie jest poprawne. Użyj CreateFileW(). |
|
szymeczek31 Temat założony przez niniejszego użytkownika |
» 2014-06-11 14:39:50 Dzięki, rozwiązałem problem. A powie mi ktoś jak zapisać plik, który edytujemy ( standardowym zapisem nie moge czemu, moze dlatego , ze plik jest otwarty...). |
|
« 1 » |