pekfos |
» 2013-11-21 20:09:16 Czyli zanim pokażę konsole MUSZE zniszczyć okienko ? |
Nie. to mam stworzyć konsolę jako okienko i muszę dać jej osobną obsługę zdarzeń ??? |
Nie. |
|
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-21 20:12:51 Zakodziłem coś takiego: LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); BOOL WINAPI AllocConsole( void );
int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { FreeConsole(); hInstance = hInst; WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = 0; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon( hInstance, MAKEINTRESOURCE( 511 ) ); wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground =( HBRUSH )( COLOR_WINDOW + 1 ); wc.lpszMenuName = NULL; wc.lpszClassName = NazwaKlasy; wc.hIconSm = LoadIcon( hInstance, MAKEINTRESOURCE( 511 ) ); BOOL WINAPI AllocConsole( void ); { { int main() std::string nick; std::cin >> nick; std::string N = "java -jar Pliki\\minecraftlauncher1.6.jar C:\\mc1.6.4 " + nick + " 1.6.4-Forge 600 800"; system( N.c_str() ); return 0; } }
Wywala: C:\Users\Łukasz\Desktop\C++\Launcher\main.cpp:8:20: warning: deprecated conversion from string constant to 'LPSTR {aka char*}' [-Wwrite-strings] C:\Users\Łukasz\Desktop\C++\Launcher\main.cpp:96:1: error: expected unqualified-id before '{' token Process terminated with status 1 (0 minutes, 0 seconds) 1 errors, 1 warnings (0 minutes, 0 seconds) Źle to złożyłem ? Jakie błędy popełniłem ? (zapewne podstawowe jak zwykle :P ? ) |
|
pekfos |
» 2013-11-21 20:17:17 Kurs C++Odeślij się do lekcji o składni C++, budowie programu i używaniu funkcji. |
|
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-21 20:30:02 Aha czyli bardzo źle ;d Dla usprawiedliwienia siebie, pokazuje ten kod :P : #include <windows.h> #include "resource.h" #include "dialog.h"
LPSTR NazwaKlasy = "Klasa Okienka"; MSG Komunikat; HWND g_hPrzycisk; HWND g_hPrzycisk2; HWND g_hPrzycisk3; HWND g_hPrzycisk4; HWND g_hPrzycisk5; HWND g_hPrzycisk6; HWND g_hPrzycisk7; HDC kon; PAINTSTRUCT ps; HINSTANCE hInstance;
LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ); BOOL CALLBACK DlgProc( HWND, UINT, WPARAM, LPARAM );
[ / cpp ]
-------------------------------------------------------------------------------------------- [ cpp ] LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam ) { switch( msg ) { case WM_CLOSE: DialogBox( GetModuleHandle( NULL ), MAKEINTRESOURCE( IDD_MOJDIALOG2 ), hwnd, DlgProc2 ); break; case WM_DESTROY: PostQuitMessage( 0 ); break; Plik .rc IDD_MOJDIALOG2 DIALOG DISCARDABLE 100, 100, 180, 60 STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Czy na pewno?" FONT 10, "MS Sans Serif" { DEFPUSHBUTTON "&TAK", IDYES, 10, 40, 50, 14 DEFPUSHBUTTON "&NIE", IDNO, 75, 40, 50, 14 LTEXT "Czy na pewno chcesz wyjść?", IDC_LABEL, 16, 18, 100, 15 } Jak widać na załączonym kodzie oknom dialogowym tworzy się własną obsługę zdarzeń i używa przy tym "BOOL CALLBACK DlgProc( HWND, UINT, WPARAM, LPARAM );" I to mnie zmyliło właśnie słowo BOOL:P (odpowie ktoś w jakim miejscu wywołuje się konsole :) bo w dokumentacji Link: http://msdn.microsoft.com/en-us/library/windows/desktop/ms681944%28v=vs.85%29.aspx Nie ma żadnego przykładu a do tego jest po angielsku, a ja ang słabo znam ;/ Podpowie ktoś życzliwy może coś jeszcze :) ? |
|
pekfos |
» 2013-11-21 20:43:37 |
|
Monika90 |
» 2013-11-21 20:56:00 Po co Ci ta konsola? Niech użytkownik wpisze nicka w editboksie. |
|
Zdziwiony Temat założony przez niniejszego użytkownika |
» 2013-11-21 21:07:01 Dzięki pekfos :) Teoretycznie działa :P case GRAJ: AllocConsole(); std::string nick; std::cout <<( "Podaj swoj nick i potwierdz ENTEREM! :D\n" ); std::cin >> nick; std::string N = "java -jar Pliki\\minecraftlauncher1.6.jar C:\\mc1.6.4 " + nick + " 1.6.4-Forge 600 800"; system( N.c_str() ); return 0; break; Dobry zapis ? Mówię, że teoretycznie bo nie chce mi wczytać danych do konsoli -.- (tj C:\\mc1.6.4 " +nick+ " 1.6.4-Forge 600 800";) odpala mi tylko jara i tyle i to mnie dziwi... @Monika90 Potrzebna mi konsola, bo jak zrobię to w textboxie to MC odpala po wpisaniu jednej literki O.o i tak cały czas... 1 literka nicku więcej = odpalony kolejny mc... Kod podesłał mi chyba Buby i chyba zrobił jakiś błąd :P A sam za mało ograniam, żeby to napisać ;) (Może w przyszłości to zrobię :P ) |
|
pekfos |
» 2013-11-21 21:13:25 AllocConsole() i freopen() dla strumieni standardowych. |
|
|
1 « 2 » 3 |