Zum Inhalt springen

TinTin

Mitglieder
  • Gesamte Inhalte

    433
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von TinTin

  1. hi, es ist wieder so weit, ich hätte da gern mal ein problem... ich hab da in meiner dialoganwendung ein editfeld. jetzt hätte ich gerne, dass, wenn man mit dem tabulator oder der maus den focus/cursor in dieses feld setzt, eine meldung angezeigt wird. ich hab schon ein wenig gesucht im forum und msdn, aber zu den schlagworten focus, cursor oder CEdit hab ich nichts verwertbares gefunden. es gibt zwar ein OnSetFocus() aber das ist wohl nur für COleObject. die ganze sache kann ja eigentlich nicht so schwierig sein und ich seh mal wieder den wald vor lauter bäumen nicht. ich hoffe ihr könnte mich in die richtige richtung schubsen... :confused: ciao TinTin
  2. hat zwar etwas gedauert, aber ich hab mich jetzt damit beschäftigt und das sogar erfolgreich!!! will mich nur für eure hilfe bedanken... ciao TinTin
  3. ok!!! ich hatte schon mal in der msdn nach GetModuleFileNameEx_ProcPtr gesucht und nichts gefunden, jetzt wundert mich das nicht mehr. danke, jetzt hab ich erst kapiert was ich da eigentlich mache. mein erstes typedef... Ciao TinTin
  4. ok, das hat geholfen, bis zum nächsten fehler... C:\projekte\process\processDlg.cpp(249) : error C2065: 'EnumProcessModules_ProcPtr' : nichtdeklarierter Bezeichner C:\projekte\process\processDlg.cpp(249) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'lpfnDLLProc' C:\projekte\process\processDlg.cpp(249) : error C2065: 'lpfnDLLProc' : nichtdeklarierter Bezeichner C:\projekte\process\processDlg.cpp(251) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'GetProcAddress' C:\projekte\process\processDlg.cpp(266) : error C2065: 'GetModuleFileNameEx_ProcPtr' : nichtdeklarierter Bezeichner C:\projekte\process\processDlg.cpp(266) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'lpfnDLLProc' C:\projekte\process\processDlg.cpp(268) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'GetProcAddress' ich hab dann entsprechend typedefs für die anderen datentypen angelegt: typedef BOOL (CALLBACK* EnumProcesses_ProcPtr)(DWORD*, DWORD, DWORD*); typedef BOOL (CALLBACK* EnumProcessModules_ProcPtr)(DWORD*, DWORD, DWORD*); typedef BOOL (CALLBACK* GetModuleFileNameEx_ProcPtr)(DWORD*, DWORD, DWORD*); bekomme dann folgende fehlermeldung: C:\projekte\process\processDlg.cpp(258) : error C2197: 'int (__stdcall *)(unsigned long *,unsigned long,unsigned long *)' : Zu viele Parameter uebergeben C:\projekte\process\processDlg.cpp(271) : error C2197: 'int (__stdcall *)(unsigned long *,unsigned long,unsigned long *)' : Zu viele Parameter uebergeben im code werden 4 parameter übergeben, ich hab aber nur 3 definiert. lpfnDLLProc(hProcess, hMods, sizeof(hMods), &cbNeeded) wenn ich noch ein 4 DWORD in den typedef schreibe, dann flippt alles aus. typedef BOOL (CALLBACK* GetModuleFileNameEx_ProcPtr)(DWORD*, DWORD, DWORD*, DWORD*); C:\projekte\process\processDlg.cpp(271) : error C2664: 'int (unsigned long *,unsigned long,unsigned long *,unsigned long *)' : Konvertierung des Parameters 4 von 'unsigned int' in 'unsigned long *' nicht moeglich Die Konvertierung eines ganzzahligen Typs in einen Zeigertyp erfordert ein reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat ich steh hier wieder ein wenig auf dem schlauch... darf ich das nicht als DWORD oder DWORD* vereinbaren? wenn nicht, wie denn dann??? Ciao TinTin
  5. hi, ich bekomme hier immer die mitteilung 'nichtdeklarierter bezeichner', finde aber auch nichts zu diesem datentyp!? ich hab die beiden funktionen 'EnumProc()' und 'PrintModules(DWORD processID)' als member funktionen in mein projekt (vc++ 6.0/mfc) eingebunden. muss ich sonnst noch was beachten??? Ciao TinTin PS: ich hab bestimmt wieder was nicht gesehen oder so...
  6. super, danke erstmal. bin aber noch nicht dazu gekommen mich damit zu beschäftigen... Ciao TinTin
  7. bordsuche... jaja, das versteht sich fast von selbst... nur muss man auch wissen wonach man sucht, darum die frage. ich werde mir mal diese CreateMutex() geschichte anschauen und danach suchen. ich hoffe das geht auch mit dem vc++ 6.0. danke für den tip...und ein rundes wochenende... ciao TinTin
  8. hi, habt ihr die heissen tage alle gut überlebt? ich will keine klagen hören! :marine zum thema: ich habe ein programm und ich möchte das dieses programm nur einmal gestartet werden kann. ok, öfter starten möchte ich es schon, aber immer nur eimmal zur gleichen zeit. jetzt die frage, wie stelle ich das am besten an. ich hab mir dazu schon mal gedanken gemacht. das muss doch irgendwie mit einer prozess id zu machen sein. würde mich freuen, wnn mich jemand in die richtige richtung leiten könnte. ciao TinTin
  9. kann ich mir denn kein handle oder so auf den aktuellen drucker holen und dessen einstellungen auslesen (PRINTER_DEFAULTS(?)) und diese verändern???
  10. ja ja noch ne frage... wie kann ich die einstellungen des aktuellen std. drucker auslesen, diese ändern (z.b. hoch- in querformat ändern), mit diesen einstellungen eine *.txt datei ausdrucken (querformat) und danach die standard einstellungen wieder herstellen. die *.txt datei ist eine log datei und muss immer quer gedruckt werden. den ausdruck wollte ich mit ShellExecute() realiseren nur will ich nicht vor dem druck den drucker um konfigurieren. das soll mein programm tun. ich hoffe ich hab mich nicht zu kompliziert ausgedrückt.
  11. hi, ich hab da so einen plan. ich suche eine möglichkeit einen weiteren eintrag in das kontextmenü des IE oder besser der standard browsers einzufügen, der es mir erlaubt, wenn ein hyperlink mit der rechten maustaste angeklickt wird, diesen in das Clipboard zu kopieren und von dort aus weiter zu verarbeiten. z.b. in eine downloadliste einfügen. hat jemand ne ahnung wie man sie da reinhängen kann, ich bin bei meinen recherchen noch nicht so weit gekommen... Ciao TinTin
  12. ...aber auch nur ab der 5.x version der shell32.dll (afaik)... hab das problem gelöst, siehe oben, bin aber noch an einer anderen lösund daran, ok ich will mir nur ne eigene klasse basteln, aber manche dinge sollte man mal gemacht haben. wenns fertig ist, dann sag ich bescheid. warscheinlich kommen aber eh noch fragen meinerseits zu diesem thema. danke erstmal für die infos... ...ciao TinTin
  13. Hi, kann mir jemand sagen wie ich an den Inhalt des clipboard komme? ...mit MFC und c++ 6.0... ciao TinTin
  14. jo, danke für den link, den hatte ich dann auch selber schon gefunden. bei 'codeproject.com' gibts noch mehr zu dem thema. alternativen... danke und ciao TinTin
  15. salut, hab wieder mal ne kurze frage. kann denn 'SHBrowseForFolder' dialog erweitern? ich würde gerne einen möglichkeit einbauen, mit der man an der angewähleten stelle im baum einen neuen ordner anlegen kann. ich hab das schon ein paar mal bei anderen programmen gesehen. ist das überhaupt möglich? und wenn nicht, gibt es eine andere möglichkeit soetwas zu realiseren? char cPath[MAX_PATH] = {'\0'}; BROWSEINFO bi = {0}; bi.hwndOwner = m_hWnd; bi.ulFlags = BIF_EDITBOX; LPITEMIDLIST lpIDList = ::SHBrowseForFolder(&bi); if(NULL != lpIDList)::SHGetPathFromIDList(lpIDList, cPath); so sieht mein bisheriger code aus. eventuell kann man was mit dem editfeld anfangen. hab aber bisher noch nicht gefunden wie mann damit etwas vernünfitiges anstellt. ciao TinTin
  16. :uli na wunderbar, manchmal reicht ein kleiner oder etwas grösserer impuls aus und schon klappt es. ciao TinTin
  17. :uli na wunderbar, manchmal reicht ein kleiner oder etwas grösserer impuls aus und schon klappt es. ciao TinTin
  18. so, hab was zu den threads gefunden, weiss aber nicht genau, wie ich jetzt meinen programmaufruf da rein bekomme. HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, // pointer to security attributes DWORD dwStackSize, // initial thread stack size LPTHREAD_START_ROUTINE lpStartAddress, // pointer to thread function LPVOID lpParameter, // argument for new thread DWORD dwCreationFlags, // creation flags LPDWORD lpThreadId // pointer to receive thread ID ); muss ich zuerst mit CreateTread() einen Thread erstellen und das Handle was ich dann bekomme, zum erstellen eines neuen prozesses nutzen, oder kann ich den programmaufruf auch direkt mit CreateThread() erschlagen??? LPTHREAD_START_ROUTINE lpStartAddress, // pointer to thread function der sinn und zweck dieser zeile bleibt mir etaws verborgen. kann mir jemand dazu einen tip geben??? ciao TinTin
  19. werde ich versuchen... kannst du mir auch einen tip geben, wie ich das am besten mache??? ich würde mich freuen!!! ciao TinTin
  20. ich hab den thread schon gesehen und in einen anderen version verwendet. mein vorrangiges problem ist, dass ich das erste programm mit dem der aufruf gestartet wird, wärend das 2. programm läuft, nicht benutzen kann. wie kann ich denn den aufruf starten, so dass ich mit beiden programmen arbeiten kann??? die geschichte mit der CPU auslastung hab ich schon gesehen und an einer anderen stelle gelöst... ciao TinTin
  21. hi, hab schon zu dem probem einiges gefunden. die suche im forum ergab das hier leider habe ich noch ein kleines problem. das Aufrufen eines programmes sowie das überwachen funktioniert ganz gut mit den u.a. code, jedoch möchte ich das programm, aus dem das zweite programm aufgerufen wird, nicht blockiert wird, wärend das zweite programm läuft. ich möchte mit beiden programme arbeiten können, das erste soll jedoch mitbekommen, wenn das zweite geschlossen wird. void COPDlg::OnNotepad() { STARTUPINFO si; PROCESS_INFORMATION pi; ZeroMemory( &si, sizeof(si) ); si.cb = sizeof(si); ZeroMemory( π, sizeof(pi) ); // Start the child process. if( !CreateProcess( NULL, // No module name (use command line). "notepad.exe c:\\win.ini", // Command line. NULL, // Process handle not inheritable. NULL, // Thread handle not inheritable. FALSE, // Set handle inheritance to FALSE. 0, // No creation flags. NULL, // Use parent's environment block. NULL, // Use parent's starting directory. &si, // Pointer to STARTUPINFO structure. π ) // Pointer to PROCESS_INFORMATION structure. ) { AfxMessageBox( "CreateProcess failed." ); exit(1); } DWORD dwExitCode; do { GetExitCodeProcess(pi.hProcess,&dwExitCode); } while (dwExitCode == STILL_ACTIVE); if (dwExitCode != STILL_ACTIVE) AfxMessageBox("beeendet"); // Close process and thread handles. CloseHandle( pi.hProcess ); CloseHandle( pi.hThread ); } ciao TinTin
  22. TinTin

    VB6 und ADO

    hi, ich diese frage auch schon im programmierung forum gestellt, aber keine richtige antwort bekommen. ich soll auch ein proggi erstellen um auf eine access 2000 db zugreifen soll, allerdings mit VC++ 6.0. die v 6.0 kann von werk aus aber nur auf access 97 dbs zugreifen. meine frage ist, wie muss ich die jet 4.0 in C++ einbinden, damit ich auch auf access 2000 dbs zugreifen kann? eventuell kann mir jemand hier weitehelfen... ciao TinTin
  23. also, wenn ich unter WINNT 4.0 den Drucker freigebe, damit ich ihn von anderen clients nutzen kann, habe ich die möglichkeit einen altenativen treiber für andere OS anzugeben. wenn ich dort den treiber für WIN95/98 auswähle und den ort angebe wo der treiber liegt, nur die *.inf keine *.exe, dann bekomme ich die meldung, dass der alternative treiber nict installiert werden konnte. wenn ich versuche auf den WIN98 client einen neuen drucker zu installieren, netzwerkdrucker auswähle, dann kann ich den drucker in der netzwerkumgebung nicht finden. wenn ich das ganze von einen WIN2000 client versuche, funktioniert das ganze problemlos. ich muss diesen altenativentreiber installieren... Ciao TinTin
  24. guten tag, will auf meinem NT4.0 SP6a Server einen netzwerkdrucker einrichten. das ganze fuznktioniert auch für die WIN2000 clients im netz. nur für die 2 WIN98 clients bekomme ich den drucker nicht eingerichtet. der drucker ist über einen externen printserver auf der NT Maschine installiert und freigegeben. nur lässt sich der alternative treiber für WIN95/98 nicht installieren, so dass ich den drucker von den WIN98 Clients nicht finden kann. kann mir jemand sagen wo das problem liegen könnte? eventuell problene mit dem SP6a? Ciao TinTin [war mir nicht ganz sicher ob 'Networking Technologies' oder 'Betriebssysteme']
  25. Hi, habe mit dem Assistenten VS 6.0 ein SDI Projekt angelegt. Ich habe ebenfalls geiteilte Fenster eingestellt und in der MainForm.cpp folgendes geändert. BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext) { return m_wndSplitter.Create(this, 1, 2, // war 2,2 => 4 Fenster; ist 1,2 => 2 Fenster CSize(10, 10), pContext); } Wenn ich das Projekt jetzt erstelle, dann hat das Fenster zwar zwei Spalten, jedoch ist die linke Spalte = 0 und die rechte nimmt das ganze Fenster ein. Was muss ich tun, damit das Fenster von Anfang an zu 50% geteilt ist, und wo (in welcher datei) muss ich das am besten reinhängen??? habe bisher nur mit Dialogprojekten rumgemacht... Ciao TinTin

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...