Zum Inhalt springen

ZeroCool8

Mitglieder
  • Gesamte Inhalte

    36
  • Benutzer seit

  • Letzter Besuch

  1. Das hier ist eine Deklaration, in C sagt man auch Prototyp: LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); Damit sagst du nur, dass es die Funktion gibt. Du musst in deinem Code auch noch festlegen, was die Funktion tut. Das ist die Definition: LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ) { // Hier kommt der Code der Funktion hin } Irgendwo in deinem Programm, außerhalb der anderen Funktion(en). Danke viel mal für deine Hilfe;-)
  2. Du hast die Funktion WndProc deklariert, aber du hast sie nicht definiert. Sie fehlt schlicht und einfach. Also wie meinst du definiert kannst du mier aufschreiben wo ich das definieren muss ? pls.
  3. Könnt ihr mir vlt. helfen Dieser Quelltext kann ich nicht kopieren es lässt sich nicht kompilieren es steht : [Linker error] undefined reference to `WndProc@16' ld returned 1 exit status C:\Dev-Cpp\Makefile.win [build Error] [Fenster.exe] Error 1 Wisst ihr vlt. was zu tun ist? oder was falsch ist?:confused: Danke im Voraus:confused: #include <windows.h> #include <stdlib.h> #include <time.h> #define PIXEL 1 #define LINIE 2 #define RECHTECK 3 #define VIELECK 4 #define ELLIPSE 5 #define INVALIDATE 6 #define BEENDEN 7 HWND bPixel, bLinie, bRechteck, bVieleck, bEllipse, bInvalidate, bBeenden; LRESULT CALLBACK WndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam ); LPCSTR MainClassName = "Malen und Zeichnen"; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) { WNDCLASSEX wc; HWND hWnd; MSG wmsg; wc.cbSize = sizeof(WNDCLASSEX); wc.style = 0; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon(GetModuleHandle(NULL), IDI_APPLICATION); wc.hCursor = LoadCursor(NULL, IDC_CROSS); wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); wc.lpszMenuName = MainClassName; wc.lpszClassName = MainClassName; wc.hIconSm = LoadIcon(GetModuleHandle(NULL), IDI_APPLICATION); if(!RegisterClassEx(&wc)) { MessageBox(NULL, "Windows Registrations Fehler", "Error!", MB_ICONEXCLAMATION | MB_OK); return 0; } hWnd = CreateWindowEx(WS_EX_CLIENTEDGE, MainClassName, "Gerätekontext Beispiel", WS_SYSMENU | WS_VISIBLE, CW_USEDEFAULT, CW_USEDEFAULT, 400, 300, NULL, NULL, hInstance, NULL); bPixel = CreateWindow("button", "Pixel", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 310, 0, 80, 30, hWnd, (HMENU)PIXEL, hInstance, NULL); bLinie = CreateWindow("button", "Linie", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 310, 30, 80, 30, hWnd, (HMENU)LINIE, hInstance, NULL); bRechteck = CreateWindow("button", "Rechtecke", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 310, 60, 80, 30, hWnd, (HMENU)RECHTECK, hInstance, NULL); bVieleck = CreateWindow("button", "Vielecke", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 310, 90, 80, 30, hWnd, (HMENU)VIELECK, hInstance, NULL); bEllipse = CreateWindow("button", "Ellipse", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 310, 120, 80, 30, hWnd, (HMENU)ELLIPSE, hInstance, NULL); bEllipse = CreateWindow("button", "Säubern", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 310, 150, 80, 30, hWnd, (HMENU)INVALIDATE, hInstance, NULL); bInvalidate = CreateWindow("button", "Säubern", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 310, 150, 80, 30, hWnd, (HMENU)INVALIDATE, hInstance, NULL); bBeenden = CreateWindow("button", "Beenden", WS_CHILD | WS_VISIBLE | BS_DEFPUSHBUTTON, 310, 180, 80, 30, hWnd, (HMENU)BEENDEN, hInstance, NULL); if(hWnd == NULL) { if(MessageBox(NULL, "Fehler beim Erstellen des Fensters!", "Error!", MB_ICONEXCLAMATION | MB_OK) == IDOK); return 0; } while(GetMessage(&wmsg,NULL,0,0)) { TranslateMessage(&wmsg); DispatchMessage(&wmsg); } return wmsg.wParam; }
  4. Laut deinem Code passiert auch nichts. wieso ? Hab ich's falsch programmiert? Wenn ja was hab ich falsch gemacht?
  5. Sagen wir mal so. Compilieren läst es sich bestimmt. Ist nur die Frage ob dein gewünschtes Ziel erreicht wird. Es öffnet nur einmal den Cd Room und wenn ich es zu mache passiert nix.
  6. Lass bitte die Finger von diesen Scherzprogrammen und lerne statt dessen ordentlich die Grundlagen. Ich hatte dir das auch schon mal in einer PN geschrieben, aber die hast du ja nicht gelesen.
  7. set (Windows) Also wäre das hier richtig : mciSendString ("set CDAudio Door Open", NULL, NULL, NULL); mciSendString ("set CDAudio time format milliseconds 10", NULL, NULL, NULL); sleep (14); system ("Pause"); return 0;
  8. hey könnt iher mir helfen ich weis wie man den CD Laufwerk öffnet: #include <stdio.h> #include <stdlib.h> #include <windows.h> int main (void) { mciSendString ("Set CDAudio Door Open",NULL, NULL, NULL); system ("Pause"); return 0; } Jetzt will ich nur noch wissen wie kann man also wenn ich den Cd laufwerk wieder zu mache das es sich wieder in 10 sekunden öffnet und sich immer wiederholt zb 5 mal wiederholt?? Danke im Voraus
  9. Ja das stimmt ich habe keine Programmiererfahrungen.
  10. Der Code ist viel einfacher : #include <stdio.h> #include <stdlib.h> #include <windows.h> int start_new_record() { mciSendString("OPEN NEW TYPE WAVEAUDIO ALIAS Audiorekorder",0,0,0); mciSendString("set Audiorekorder time format ms",0,0,0); mciSendString("set Audiorekorder channels 1",0,0,0); mciSendString("set Audiorekorder bitspersample 8",0,0,0); mciSendString("record Audiorekorder",0,0,0); } int pause_record() { mciSendString("pause Audiorekorder",0,0,0); } int resume_record() { mciSendString("resume Audiorekorder",0,0,0); } int save_record(char *Dateiname) { char cmd[500]; wsprintf(cmd,"save Audiorekorder %s",Dateiname); mciSendString(cmd,0,0,0); } int close_record() { mciSendString("stop Audiorekorder",0,0,0); mciSendString("close Audiorekorder",0,0,0); } int main(int argc, char *argv[]) { char Datei[900]; int Wahl=0; do { if(Wahl==0 ||Wahl==2) { printf("Wie soll die wav-Datei heissen, die Sie erstellen wollen:\n"); scanf("%s",&Datei); getchar(); system("Cls"); } if(Wahl==0 || Wahl==1 || Wahl==2) { system("Cls"); printf("Wenn Sie die Aufnahme starten(fortfuehren) moechten, druecken Sie Enter. Wenn Sie die Aufnahme stoppen oder beenden wollen, druecken Sie noch einmal Enter."); getch(); system("Cls"); printf("Die Aufnahme laeuft! Druecken Sie Enter um diese zu stoppen."); if(Wahl==0 || Wahl==2) start_new_record(); if(Wahl==1) resume_record(); getch(); pause_record(); } system("Cls"); printf("Sie haben folgende Moeglichkeiten:\n\n"); printf("<1>Aufnahme fortsetzen\n"); printf("<2>Aufnahme neu starten\n"); printf("<3>Aufnahme speichern\n"); printf("<4>Aufnahme beenden ohne zu speichern(Programm wird beendet)\n"); printf("<5>Programm beenden\n\n"); printf("Ihre Wahl: "); scanf("%d",&Wahl); getchar(); system("Cls"); if(Wahl==2 || Wahl==4 || Wahl==5) close_record(); if(Wahl==3) { save_record(Datei); system("Cls"); printf("Die Aufnahme wurde gespeichert! Druecken Sie Enter um zurueck ins Menu zu gelangen."); getch(); } }while(Wahl!=4 && Wahl!=5); return 0; }
  11. Bitte keine Vollzitate Gibt es vlt. nicht einen leichteren Quelltext?
  12. Hey weis vlt. jemand wie man eine Tonaufnahme in C programmieren kann? mit mciSendString? Kennt vlt. jemand den Quelltext?
  13. AnsiString GetLoginName(void) { TCHAR siBuffer[256]; LPTSTR siValue = siBuffer; DWORD siBuffSize = 256; GetUserName(siValue, &siBuffSize); return AnsiString(siBuffer); } ist das der Code???
  14. Kannst du mir bitte den Code aufschreiben pls.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...