Laden...

Forenbeiträge von yooti Ingesamt 11 Beiträge

29.07.2021 - 12:44 Uhr

Hallo

@ JimStark das ist leider C++ ich suche Lösungen für C#. Bin ich im falsche Forum gelandet oder verstehe ich was nciht richtig?

Mit freundlichem Gruß
yooti

29.07.2021 - 01:28 Uhr

Hallo,

nach vielen vielen Jahren habe ich wieder angefangen zu Programmieren und jetzt brauche ich wohl in der Königsklasse Hilfe.
Meine Programmierkenntnisse sind ehr sehr bescheiden bzw. grauenhaft. Das was ich habe Programmiert habe ich aber erfolgreich zum laufen bekommen.

Im Grunde geht es um ein Macrorecorder. Maus und Tastatur funktionieren schon. Jetzt geht es an die Pixel.

Als erstes bräuchte ich eine Micro Forms Anwendung wo ich mit der Maus auf dem Desktop klicke und mir dort die Infos
zu dem einem Pixel die Koordinaten x und y erhalte und die Farbe als #FFFFFF.

Als zweites. In meinem eigenen Macrorecorder will ich das dann in einer Schleife auswerten.

zu dem beiden Punkten brauche ich Infos wo ich was nachlesen kann oder es gibt mir einer den Code den ich hoffentlich auch verstehe. Wo ich mir nach und
nach alles zusammen bauen kann.

Mit freundlichem Gruß
yooti

08.02.2011 - 00:55 Uhr

hallo

kann ich mit dem Performance Counter auch auf andere Rechner drauf zugreifen wie mit WMI ?

Beispiel:


 try
            {
                ConnectionOptions connection = new ConnectionOptions();
                connection.Username = userNameBox.Text;
                connection.Password = passwordBox.Text;
                
                
                connection.Authority = "ntlmdomain:DOMAIN";

                ManagementScope scope = new ManagementScope("\\\\192.168.0.204\\root\\CIMV2", connection);
                scope.Connect();

                ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_PerfFormattedData_PerfDisk_LogicalDisk");

                ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query);

                foreach (ManagementObject queryObj in searcher.Get())
                {
                    
                    
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("Win32_PerfFormattedData_PerfDisk_LogicalDisk instance");
                    Console.WriteLine("-----------------------------------");
                    Console.WriteLine("AvgDiskBytesPerWrite: {0}", queryObj["AvgDiskBytesPerWrite"]);
                }
                //Close();
            }
            catch (ManagementException err)
            {
                MessageBox.Show("An error occurred while querying for WMI data: " + err.Message);
            }
            catch (System.UnauthorizedAccessException unauthorizedErr)
            {
                MessageBox.Show("Connection error (user name or password might be incorrect): " + unauthorizedErr.Message);
            }

Wenn ich das mit dem PerformanceCounter auch machen könnte wäre es gut und wenn wie mache ich dann das ?

mfg yooti

06.02.2011 - 23:28 Uhr

danke für deine antwort

dann dürfte ich ja hier genau richtig sein oder ?
http://www.codeproject.com/KB/cs/perfgrid.aspx

06.02.2011 - 17:28 Uhr

Hallo

Ich habe eine Server (kein Server BS) der nichts anderes macht als ein paar daten zur verfügung stellt (Netzwerkfreigabe). Dieser Server hat mehrere Platten, auf den alle daten gleich sind (Quasi gespieglet).

Eine ClientApp soll vor dem Download herausfinden welche Festplatte auf dem Server am wenigsten ausgelastet ist und von dieser dann den download beginnen.

Hat jemand ne gute und einfache Idee wie ich auf einem fremdrechner die Festplattenauslastung herausfinde ?

yooti

02.05.2010 - 15:37 Uhr

Hallo

BeispielProjekt:

nehmen wir mal an ich habe auf einer Form 10 Labels.

label_01
label_02
label_03
usw.

in der Form_Load soll aus einer "config.xml" abgefragt werden ob das ein oder andere Labels sichtbar sein soll oder nicht.
mit einen haufen schreibaufwand bekomme ich das auch realisiert, also nicht das problem.

Mein ziel ist also das mit so wenig wie möglich code zu bewerkstelligen.

ICH WEISS das der code hier unten nicht ganz schlüssig ist.

meine Idee bisher ist:


labelvisible lvis = new labelvisible();

private void Form1_Load(object sender, EventArgs e)
        {
            lvis.sichtbar();
        }

die Klasse labelvisible


private void labelvisible()
        {
           if (File.Exists(configDatei))
            {
                XmlNode temp_xmlRead01 = xmlDoc.SelectSingleNode(@"/Config/label_01/Visible");
                string temp_xmlRead02 = temp_xmlRead01.InnerText;
                
                if (temp_xmlRead02 == "true")
                {
                    // funst natürlich nicht
                    label_01.Visible = true;
                }

                if (temp_xmlRead02 == "false")
                {
                    // funst natürlich nicht
                    label_01.Visible = false;               
                }
            }
            
        }

soweit ist erst mal meine gedankengang !

  1. ich weiß das das ganze noch ein eine schleife gesetzt werden muß ( wie weiß ich nicht genau)
  2. wie kann ich in dann in der schleife auf die label eigenschaften zugreifen ?

Ich hoffe Ihr habt mich verstanden was ich machen möchte.
vieleicht gibt es ja auch ganz andere lösungsansätze

mfg
yooti

22.04.2009 - 23:57 Uhr

Hallo @All

hier mal mein test Code


                string test1 = listBox_Festplatten.SelectedItem.ToString();
                int len = test1.Length - 1;
                MessageBox.Show(test1.Substring(1, len));

dieses beispiel arbeitet so wie es sein soll ! das erste Zeichen wird von dem string ordnungsgemäß abgeschintten

sobald ich aber die zahl 1 erhöhe z.B. auf 2 geht irgendwas schief


MessageBox.Show(test1.Substring(2, len));

Was ist hier los und warum funktioniert das nicht ?

mfg yooti

05.04.2009 - 12:16 Uhr

nach 3 wochen suchen und testen googeln und verzweifeln hab ich fast das gefunden was ich suche

hier ist ein auszug meiner recherche



            ManagementObjectSearcher hdd = new ManagementObjectSearcher("root\\CIMv2", "SELECT * FROM Win32_DiskDrive"); 
            foreach (ManagementObject disk in hdd.Get()) 
            { 
                try 
                { 
                    Console.WriteLine("Caption HDD: " + disk.GetPropertyValue("Caption").ToString()); 
                    Console.WriteLine("Model: " + disk.GetPropertyValue("Model").ToString());
                    Console.WriteLine("Name: " + disk.GetPropertyValue("Name").ToString());
                    Console.WriteLine("Partitions: " + disk.GetPropertyValue("Partitions").ToString());
                    Console.WriteLine("Größe: " + disk.GetPropertyValue("Size").ToString());
                    Console.WriteLine("SerialNumber: " + disk.GetPropertyValue("SerialNumber").ToString());
                    Console.WriteLine("PNPDeviceID: " + disk.GetPropertyValue("PNPDeviceID").ToString());
                    Console.WriteLine("-----------------------------------------------------");
                } 
                catch 
                { 
                } 
            } 
            Console.WriteLine("//ende hdd---------------------------------------------------------------//");



            ManagementObjectSearcher hdd2 = new ManagementObjectSearcher("root\\CIMv2", "SELECT * FROM Win32_DiskPartition");
            foreach (ManagementObject disk in hdd2.Get())
            {
                try
                {
                    Console.WriteLine("Caption HDD: " + disk.GetPropertyValue("Caption").ToString());
                    Console.WriteLine("Größe: " + disk.GetPropertyValue("Size").ToString());
                    Console.WriteLine("DeviceID: " + disk.GetPropertyValue("DeviceID").ToString());
                    Console.WriteLine("-----------------------------------------------------");
                }
                catch
                {
                }
            }
            Console.WriteLine("//ende hdd2---------------------------------------------------------------//");


ich wollte zwar das ergebnis "\Device\Harddisk3\Partition1" aber damit kann ich auch was anfangen "Disk #3, Partition #0"

hilfreich war auch was bei codeprojekt
http://www.codeproject.com

das Thema kann tehoretisch geschlossen werden außer es doch noch jemand eine idee wie ich direkt an "\Device\Harddisk3\Partition1" ran komme !

mfg yooti

04.04.2009 - 18:58 Uhr

kann das sein das mir hier diese seite weiterhilft ?

An in-depth look at WMI and Instrumentation: Part II

mfg yooti

04.04.2009 - 14:49 Uhr

nicht ganz das richtige was ich suche !

ich hab eine Form die nur 2x2 pixel groß ist (incl.Button) und die liegt ganz oben links mit topmost=true als panikbutton für dismount

desweiternen bietet mir der buttom ein contexmenu um nur die platte einzubinden die ich wirklich brauche und nicht alle die ich habe.

ich hab mal mein projekt gezipt !

der quellcode von truecrypt ist ja offen da sollte es doch eine möglichkeit geben herauszufinden welche platte unter \Device\Harddisk0\Partition1 eingebunden ist

hier der link zum quellcode: http://www.truecrypt.org/downloads2

ich hab da schon mal reingeschaut ! aber nur gucke ich da wie ein schwein ins uhrwerk und hab kein plan

ps. ich hab letztes jahr erst angefangen zu proggen und bis jetzt habe ich mir alles allein beigebracht

mfg yooti

04.04.2009 - 14:14 Uhr

hallo @ all

bin gerade dabei mir ein zusatztool für "TrueCrypt" zu basteln, zum mounten der komplett verschlüßelten Festplatten

wenn mann mehrere Festplatten mit der selben größe ist es schwer heraus zu finden welche platte welche ist und wo sie eingebunden werden soll.

ich hab mir eine funtion geschrieben die schon mal herusfindet mit welcher Festplatte ich überhaupt rede

das beispiel:


        private void Form1_Load(object sender, EventArgs e)
        {
            ManagementObjectSearcher mang = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity");

            foreach (ManagementObject obj in mang.Get())
            {
                if (Convert.ToString(obj["Name"]) == "SAMSUNG HD300LJ ATA Device")
                {
                    MessageBox.Show("Samsung 300GB Platte gefunden");
                }
            }
        }

soweit ist erst mal alles gut !

jetzt muß ich aber herausfinden wo genau die platte im system eingebunden ist ! aber nach folgendem muster: \Device\Harddisk0\Partition1 !!! Die ein und die selbe platte wird mal als Harddisk0 und nach eine neustart des rechnes als Harddisk1 oder Harddisk5 eingebunden oder wie auch immer ( fast jedes mal wo anders )

was gibt es für möglichkeiten heraszufinden wo die platten im system eingebunden werden ?

dies brauch ich für die funktion zum schnellen mounten der Festplatten mit dem richtigen laufwerksbuchstaben

das Beispiel


        string platte_01 = "";
        string truecrypt_pfad = @"C:\TrueCrypt\TrueCrypt.exe";

        private void Contex_menu_01_Click(object sender, EventArgs e)
        {
            Process.Start(truecrypt_pfad, @"/v " + platte_01 + @"  /ld /q");
        }

ich hoffe ihr könnt mir in iregendeiner weise helfen

mfg yooti