Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

VB-Programm: CPU-Auslastung 100%

Frage Entwicklung Basic

Mitglied: SarekHL

SarekHL (Level 3) - Jetzt verbinden

31.05.2008, aktualisiert 13:13 Uhr, 10042 Aufrufe, 9 Kommentare

Hallo allerseits,

ich hatte in der Vergangenheit einen Weg gesucht, das Einstecken eines USB-Sticks mit einem VB5-Programm zu erkennen und daraufhin eine Aktion durchzuführen. Leider habe ich keine Tipps dazu bekommen, so daß ich mir eine vermutlich wenig elegante Lösung gebastelt habe.

Und zwar habe ich eine Schleife gebastelt, in der immer wieder der nächste freie Laufwerksbuchstabe (den dann ja der Stick bekommen würde) auf seinen freien Speicherplatz getestet wird (http://www.vbarchiv.net/tipps/details.php?id=174). Solange ein negativer Wert (wird in der Funktion als "Laufwerk nicht bereit" interpretiert) zurückgegeben wird, wird die Schleife wiederholt, sobald ein positiver Wert ermittelt wird, wird sie verlassen und die Befehle für den Stick ausgeführt.

Um das System zu entlasten, habe ich gleich zu Beginn des Programms die Prozeßpriorität auf IDLE_PRIORITY_CLASS gesetzt (http://www.vbarchiv.net/tipps/details.php?id=1136).

TROTZDEM zeigt das Programm im Task-Manager eine CPU-Auslastung von 100% und verlangsamt den Server, auf dem es läuft, stark.

Wie kann ich das Problem lösen? Es muß doch irgendwelche Programmiertechniken geben, die dafür sorgen, daß die Prüfung nur einmal pro Sekunde ausgeführt wird und dazwischen die gesamte Rechenleistung anderen Programmen zur Verfügung steht ...


Danke im Voraus,
André
Mitglied: bastla
31.05.2008 um 09:58 Uhr
Hallo SarekHL!

Auch für VB5: SetWaitableTimer mit Visual Basic

Grüße
bastla
Bitte warten ..
Mitglied: misterdemeanor
31.05.2008 um 12:10 Uhr
Mahlzeit!

VB5?

Whoppa ya hoppla! SarekHL, Du setzt VB5 ein? Heidewitzka!

Mit dem ersten geschafften Lebensdrittel (24 Jahre) würde ich ja in eine andere Entwicklerumgebung () geboren; VB6 also auch nur am Rande angekratzt. Daher weiß ich nicht inwiefern man sich mit VB5 in das Windows Messaging einklinken kann.

Insbesondere ziele ich hier auf das implementieren einer WindowsProc in VB5 an.
Was ich eigtl. an Denkanstoß geben möchte ist das fetchen der WM_DEVICECHANGE Message.

Ein Timer wäre somit unnötig.

Allerdings möchte ich dann noch zu bedenken geben das ein evtl. bereits vor dem Start der VB5 Anwendung eingesteckter USB Strick anderweitig erkannt werden muss.
Nicht das sich das ganze Vorhaben noch daran aufhängt

**BG, Felix -misterdemeanor-
Bitte warten ..
Mitglied: misterdemeanor
31.05.2008 um 12:12 Uhr
Mahlzeit!

VB5?

Whoppa ya hoppla! SarekHL, Du setzt VB5 ein? Heidewitzka!

Mit dem ersten geschafften Lebensdrittel (24 Jahre) würde ich ja in eine andere Entwicklerumgebung () geboren; VB6 also auch nur am Rande angekratzt. Daher weiß ich nicht inwiefern man sich mit VB5 in das Windows Messaging einklinken kann.

Insbesondere ziele ich hier auf das implementieren einer WindowsProc in VB5 an.
Was ich eigtl. an Denkanstoß geben möchte ist das fetchen der WM_DEVICECHANGE Message.

Ein Timer wäre somit unnötig.

Allerdings möchte ich dann noch zu bedenken geben das ein evtl. bereits vor dem Start der VB5 Anwendung eingesteckter USB Strick anderweitig erkannt werden muss.
Nicht das sich das ganze Vorhaben noch daran aufhängt

**BG, Felix -misterdemeanor-
Bitte warten ..
Mitglied: bastla
31.05.2008 um 12:19 Uhr
@misterdemeanor

A propos "Strick" - kannst Du als Programmierer bestätigen, dass die Verwendung von "Knoten" anstatt "Schleifen" ein Programm robuster macht?

Grüße
bastla
Bitte warten ..
Mitglied: SarekHL
31.05.2008 um 12:34 Uhr
Whoppa ya hoppla! SarekHL, Du setzt VB5 ein?

Ja ... zum einen habe ich kein Geld für eine aktuelle MSDN-Version, zum anderen fehlt mir die Zeit, mich in VB.net einzuarbeiten. Schließlich ist Programmieren nicht meine Hauptaufgabe, ich mache das nur ab und zu, um mir mal ein Tool zu erstellen, wenn ich keine geeignete Fertiglösung finde ...
Bitte warten ..
Mitglied: misterdemeanor
31.05.2008 um 12:35 Uhr
@bastla

Da lieferst Du den Anstoß zu einem infinitiven Regress...
Nur mal so zur Ablenkung um Dich ein wenig zu beschäftigen (und ich hoffe Du kannst Dich schnell entscheiden):
Was war zuerst da: die Henne oder das Ei?

BackToOffTopic:
Die beinahe philosophische Frage die Du in den Raum gestellt hast wird im Endeffekt doch sowieso nur vom Henker entschieden.
Bitte warten ..
Mitglied: misterdemeanor
31.05.2008 um 12:43 Uhr
kein Geld für eine aktuelle MSDN-Version

Wenn wir jetzt einmal von einem MSDN Abo absehen scheinst Du ja nichtsdestotrotz Zugang zum Internet zu haben.

Ansonsten jemanden konsultieren der/die Dir eine Offline Version downloadet mit der Du auch an nicht am Internet verbundenden Rechnern nachschlagen kannst:
MSDN Library für Visual Studio 2008
Da lässt sich natürlich über den Document Explorer streiten...

BTT:
Lass mal hören inwiefern es möglich ist in VB5 eine WinProc zu implementieren (hab geggogled wie blöd aber kein example für eine WindowsProc unter VB5 gefunden; da aber API calls von VB5 möglich sind müsste das ja selbtverständlich möglich sein).
Bitte warten ..
Mitglied: SarekHL
31.05.2008 um 12:52 Uhr
Wenn wir jetzt einmal von einem MSDN Abo absehen scheinst Du ja nichtsdestotrotz Zugang zum Internet zu haben.

Ja und? Dann habe ich ja immer noch keinen Compiler für vb.net ... irgendwie muß ich doch meine EXE daraus machen ...

Lass mal hören inwiefern es möglich ist in VB5 eine WinProc zu implementieren

Möglich ist das bestimmt, aber ich habe jetzt nicht die Muße, mir den Code selbst zu erarbeiten. Ich habe auf www.vb-archiv.de eine CPU-neutrale Wait-Funktion gefunden, die ich mir jetzt eingebaut habe. Damit habe ich die CPU-Auslastung in den Griff bekommen ...
Bitte warten ..
Mitglied: misterdemeanor
31.05.2008 um 13:13 Uhr
Ja und? Dann habe ich ja immer noch keinen Compiler für vb.net ... irgendwie muß ich doch meine EXE daraus machen ...

MeiOmei...jetzt würde ich lügen das (at least) im .Net Framework 2.0 das zugehörige SDK und damit die Compiler aller MS .Net Sprachen inbegriffen ist. Ggfls. googlen.

Warum Du das jetzt aber mit dem Microsoft Developer Network assoziierst ist mir unklar. Um meine hauptsächliche Begriffsdefinierung zu MSDN zu erläutern : In erster Linie verbinde ich damit kein Netzwerk sondern eher eine Art "Nachschlagewerk" / Bibliothek / Technologie-Referenz.

Ich habe auf www.vb-archiv.de eine CPU-neutrale Wait-Funktion gefunden, die ich mir jetzt eingebaut habe. Damit habe ich die CPU-Auslastung in den Griff bekommen ...

Super! Dann ist das Thema für Dich erledigt?.. .Wait Function?!

ich habe jetzt nicht die Muße, mir den Code selbst zu erarbeiten.

War sogar der Meinung hier bereits etwas, das in gleiche Richtung ging, erarbeitet zu haben. Damals mit WMI.
Dachte schon hier ist ´ne Nuss zu knacken; da Du aber bereits das Fass aufgemacht hast freut es mich umsomehr

Jetzt ist auch langsam Zeit den Grill anzuschmeissen um sich Rücklagen für das Serbien Spiel zu verschaffen...

BG, Felix -misterdemeanor-
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows 7
gelöst Windows Update bei virtuellem Windows 7 - hohe CPU Auslastung und keine Reaktion (6)

Frage von IT-Alexander zum Thema Windows 7 ...

Microsoft
Server 2012 cpu Auslastung durchgehend bei 10 prozent (1)

Frage von thomasreischer zum Thema Microsoft ...

Netzwerkmanagement
gelöst Sophos UTM220 - Appliance CPU Auslastung LOG-Datei downloaden? (7)

Frage von 1410640014 zum Thema Netzwerkmanagement ...

Hyper-V
Verständnisfrage zu CPU Auslastung (5)

Frage von AndreasOC zum Thema Hyper-V ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (34)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...