Laden...
B
Benutzerbeschreibung
Gruß Brovning

Forenbeiträge von Brovning Ingesamt 152 Beiträge

12.03.2007 - 10:03 Uhr

Vielen Dank!
Habe noch eines gefunden: http://www.dependencywalker.com/

12.03.2007 - 09:20 Uhr

Hallo Zusammen!
Könnt ihr mir Tools nennen, mit denen ich die Methoden und Interfaces von beliebigen DLLs auflisten lassen kann?

03.02.2007 - 14:00 Uhr

Vielen Dank nochmals! Finde dieses Beispiel immer noch nicht. Wo steht dieses?

Wenn ich es nun folgendermaßen mache, dann erhalte ich immer bei der Zeile "string temp" eine Exception...

WebRequest request = WebRequest.Create (url + Dateiname);
request.Credentials = CredentialCache.DefaultCredentials;
HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
string temp = response.StatusDescription;
response.Close ();

Die Datei ist nicht vorhanden und folglich möchte ich anhand des Status die Datei downloaden oder nicht. Jedoch komme ich gar nicht bis zu dieser Stelle...
Woran könnte es scheitern?

03.02.2007 - 12:48 Uhr

👍
Dort finde ich nur Beipiele für ASP.NET und nicht für reines C#.
Zudem finde ich keinen Befehl, der abprüft ob die Datei vorhanden ist...

03.02.2007 - 11:16 Uhr

Vielen Dank schon mal, aber wie funktioniert das dann genau?

Ich erstelle einen WebRequest mit:

WebRequest myWebRequest = new WebRequest();

Und anschließend?

03.02.2007 - 09:06 Uhr

Hallo Zusammen!
Ich habe das Problem, dass bei einem Download der PC immer kurz hängt, wenn die Datei nicht vorhanden ist, da eine Exception geworfen wird.
Ist es möglich vor dem Download eine Art File.Exists() auszuführen, so dass der Download gar nicht gestartet wird, wenn die Datei nicht vorhanden ist?

04.09.2006 - 11:14 Uhr

Inwiefern meinst du "enthält doc.FirstChild nichts"?
Bei Eingabe von "doc.FirstChild" kommt logischerweise die Ausgabe "System.Xml.XmlDeclaration".

04.09.2006 - 09:50 Uhr

"doc.FirstChild.ChildNodes.Count" ist leider ebenfalls 0.

Ist mein Quelltext richtig?

04.09.2006 - 09:37 Uhr

Wenn ich "root.ChildNodes.Count" ausgeben, erhalte ich den Wert 0.
Wieso werden die Äste eventuell nicht erkannt?

01.09.2006 - 12:24 Uhr

Original von Lord Hessia
Das ist ALLES, was als Fehlermeldung ausgegeben wird?

An unhandled exception of type 'System.Xml.XmlException' occurred in system.xml.dll

Additional information: Systemfehler.

Mit "doc.Load(path)" erhalte ich zwar keinen Fehler, aber er springt auch nicht bei "root.HasChildNodes" in den IF-Teil.

01.09.2006 - 11:30 Uhr

Hallo!
Ich muss leider wieder eine Frage zum leidigen Thema XML-Einlesen stellen.

Ich wollte meine XML-Datei folgendermaßen einlesen:

XmlDocument doc = new XmlDocument();
doc.LoadXml(path);
XmlNode root = doc.FirstChild;
if(root.HasChildNodes)
{
	int node = 0;
	foreach(XmlElement n1 in root.ChildNodes)
	{
		string inhalt = n1.Name;
		if(inhalt!=null)
		{
			treeView_bouquets.Nodes.Add(inhalt);
			foreach(XmlElement n2 in n1.ChildNodes)
			{
				string inhalt2 = n2.Name;
				treeView_bouquets.Nodes[node].Nodes.Add(inhalt2);
			}
			node = node+1;
		}
	}
}

Leider bleibt er schon bei "doc.LoadXml(path);" mit dem Fehler "Systemfehler" hängen.

Kann es an der Struktur der XML-Datei liegen?

<?xml version="1.0" encoding="UTF-8"?>
<inhalt>
	<bereich name="xy" hidden="xy" locked="xy">
		<punkt service="xy" name="xy" ts="xy" on="xy" position="xy"/>
...
	</bereich>
	<bereich name="xy" hidden="xy" locked="xy">
...
01.09.2006 - 09:48 Uhr

Ok, danke!

01.09.2006 - 09:44 Uhr

Original von herbivore
die beste Lösung, wenn man Consolenprogramme schreibt, ist auf 2.0 zu wechseln, denn die Console-Klasse ist unter 2.0 um einiges leistungsfähriger als unter 1.x.

Meinst du damit das neue VS2005?

01.09.2006 - 07:07 Uhr

Ok. Vielen Dank für die präzise Antwort! 👍

31.08.2006 - 17:13 Uhr

Danke für deinen Tipp, aber wie funktioniert das dann?

So bewirkt es keinen Unterschied:

Console.WriteLine("Drücken Sie die [ENTER]-Taste um fortzufahren . . .");
StreamWriter standardOutput = new StreamWriter(Console.OpenStandardOutput());
StreamWriter streamOutput = new StreamWriter(new MemoryStream());
Console.SetOut(streamOutput);
Console.ReadLine();
Console.SetOut(standardOutput);

Die eingegebenen Zeichen werden immer noch angezeigt.

31.08.2006 - 16:20 Uhr

Ok, danke!

Falls jemand doch noch eine Lösung kennt, bin ich für alles offen! 😁

31.08.2006 - 15:52 Uhr

Der User über die Konsole...

31.08.2006 - 15:44 Uhr

Wieso zweiter Thread?
Ich will direkt meine Konsole pausieren lassen.

31.08.2006 - 15:42 Uhr

Bei mir im VS2003 gibt es nur Read oder ReadLine, aber kein ReadKey.

Ebenso findet der bei mir ConsoleKeyInfo nicht.
Ist das neu im VS2005 oder muss ich noch etwas einbinden?

31.08.2006 - 15:16 Uhr

Hallo!
Ich wollte den Befehl PAUSE so wie bei der Batchprogrammierung verwirklichen, um meine Konsolenanwendung im Fehlerfall anhalten zu können.

Mein Code sieht folgendermaßen aus:

Console.WriteLine("Drücken Sie die [ENTER]-Taste um fortzufahren . . .");
StreamWriter standardOutput = new StreamWriter(Console.OpenStandardOutput());
Console.SetOut(null);
Console.ReadLine();
Console.SetOut(standardOutput);

Es funktioniert ohne Console.SetOut auch einwandfrei, doch als Perfektionist stört es mich, dass andere Eingaben angezeigt werden, daher dachte ich mir einfach den StdOut umzuleiten und anschließend wieder zu setzen.
Hierbei erhalte ich jedoch bei Console.ReadLine folgende Fehlermeldung:

An unhandled exception of type 'System.ArgumentNullException' occurred in mscorlib.dll

Additional information: Wert darf nicht Null sein.

Habe ich hier irgendwo einen Denkfehler?

31.08.2006 - 10:28 Uhr

Arg..., doch so einfach! X(
Vielen Dank!

31.08.2006 - 10:17 Uhr

Hallo!
Ich rufe den "net use"-Befehl über Process.Start folgendermaßen auf:

ProcessStartInfo startInfo = new ProcessStartInfo("cmd.exe");
startInfo.WindowStyle = ProcessWindowStyle.Hidden;
startInfo.CreateNoWindow = true;
startInfo.Arguments = "/c net use "+ netzlaufwerk[i][LETTER].Trim() +" "+ netzlaufwerk[i][PATH].Trim() +" /persistent:no /user:"+ NETUSER +" "+ NETPASS : "");
Process.Start(startInfo);

Jetzt stellt sich mir die Frage ob ich einen Rückgabewert oder die Kommandozeilenausgabe auslesen kann, damit ich weis ob die Verbindung erfolgreich war.

30.08.2006 - 10:55 Uhr

Danke, aber ich glaube ich habe nun doch noch eine Lösung gefunden, welche sogar besser ist:

if(comboBox.Items.IndexOf("GESUCHTES ELEMENT") < 0)
    // nicht vorhanden
else
    // vorhanden

30.08.2006 - 10:29 Uhr

Hallo!
Wie kann man eigentlich prüfen, ob ein bestimmter Name in einer ComboBox vorhanden ist?

28.07.2006 - 09:31 Uhr

Ok, danke. Ich arbeite mit VS2003. X(

28.07.2006 - 09:17 Uhr

Vielen Dank für die Antworten.
Thread.Abort() hatte ich schon probiert. Dabei erhalte ich eine Exception.
Ich führe jetzt am Ende meines Threads ganz einfach. this.Close() aus. Funktioniert einwandfrei!

28.07.2006 - 08:33 Uhr

Hallo zusammen!
Wie kann ich mein Programm aus einem Thread beenden?

Hintergrund ist folgender:
In meinem Programm kann der Anwender eine Abarbeitung starten, welche in einem neuen Thread gestartet wird. Im Hauptfenster kann der Anwender die Abarbeitung selbst anhalten oder beenden. Wenn jedoch die Abarbeitung erfolgreich war, soll sich das Programm selbst beenden.

21.02.2006 - 10:07 Uhr

Vielen Dank, dann werde ich mal suchen...

21.02.2006 - 08:23 Uhr

Kann mir keiner einen Tipp geben?
Sollte mein Code vom Prinzip her funktionieren, oder habe ich einen grundlegenden Fehler drin?

15.02.2006 - 19:29 Uhr

Ich bekomme es einfach nicht gebacken...

Habe nun folgenden Code:

MailMessage mail = new MailMessage();
mail.To = an_mail;
mail.From = von_mail;
mail.Subject = betreff;
mail.BodyFormat = MailFormat.Html;
mail.Body = text;
				
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "**USERNAME**");
mail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "**PASSWORT**");

SmtpMail.SmtpServer = "**SERVER**";
SmtpMail.Send(mail);

Ich erhalte immer folgende Fehlemeldung:

System.Web.HttpException: Auf das Objekt 'CDO.Message' konnte nicht zugegriffen werden. ---> System.Reflection.TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht. ---> System.Runtime.InteropServices.COMException (0x80040211): The message could not be sent to the SMTP server. The transport error code was 0x80040217. The server response was not available

Woran könnte es scheitern?

10.02.2006 - 10:52 Uhr

Habe jetzt folgendes Problem. Ich will Mails über einen Server versenden, der die Option "Kennwortauthentifizierung" aktiviert hat.
Wie funktioniert es in diesem Fall?

02.02.2006 - 07:20 Uhr

Spitze, es funktioniert ! ! !

Vielen Dank euch allen!

01.02.2006 - 16:18 Uhr

Ich möchte folgendes Beispiel testen:

MailMessage mail = new MailMessage();
mail.To = "me@mycompany.com";
mail.From = "you@yourcompany.com";
mail.Subject = "this is a test email.";
mail.Body = "this is my test email body";
SmtpMail.SmtpServer = "localhost";  //your real server goes here
SmtpMail.Send( mail );

Woran scheitert es, wenn ich folgende Meldung erhalte:

The type or namespace name 'MailMessage' could not be found (are you missing a using directive or an assembly reference?)

Da dachte ich mir doch gleich folgendes:

using System.Web.Mail;

Jedoch wird diese Klasse nicht gefunden...

01.02.2006 - 10:09 Uhr

Ok, vielen Dank!

01.02.2006 - 08:44 Uhr

Hallo!
Ist es möglich, dass mir mein Programm sobald es seine Arbeit auf den Clients verrichtet hat eine Mail sendet, ohne dass ein Outlook-Fenster oder ähnliches aufgeht, welches der User bestätigen muss?

07.11.2005 - 09:23 Uhr

Vielen Dank, für deine Mühe, die du dir machst! 👍

07.11.2005 - 06:43 Uhr

@Programmierhans
Du bist einfach der Beste ! ! !
Hast du die Beispiele selbst geschrieben oder kennst du eine Seite, welche Beispiele in der Richtung hat?

04.11.2005 - 14:44 Uhr

Die ID ist lhWnd würde ich behaupten, aber wie finde ich die Caption(Bechriftung) oder die Position heraus?

Wenn ich die ID habe, dann funktioniert dass wohl nicht mit?

IntPtr hwndChild = FindWindowEx(hwndTemp, IntPtr.Zero, "Edit", string.Empty);
04.11.2005 - 14:05 Uhr

Achso... 8o

Wie kann ich dann mehrere Textfelder in einem Fenster befüllen, wenn die alle von der gleichen Klasse sind? Da befüllt er mir logischerweise immer nur das erste.

04.11.2005 - 13:27 Uhr

Jetzt verstehe ich bald gar nichts mehr.
Ich kann doch mit folgendem:

IntPtr hwndTemp =  FindWindow("Notepad", "Unbenannt - Editor");
SetForegroundWindow(hwndTemp);

Thread.Sleep(1000); 

IntPtr hwndChild = FindWindowEx(hwndTemp, IntPtr.Zero, "Edit", string.Empty);
SendMessage(hwndChild, WM_SETTEXT, 0, "Text im Eingabefeld von Notepad");

Notepad suchen und in den Vordergrund bringen und anschließend in das Feld "Edit" einen Text hineinschreiben.

Jetzt bin ich wieder bei meiner ersten Frage, welche ich vor dem Beispiel von Programmierhans hatte:
Wie bekomme ich den Namen der TextBox(en) heraus?

04.11.2005 - 10:45 Uhr

Arg... Das war alles?! Die 0 zu einer anderen Zahl umzuändern. X(

Vielen Dank ! ! !

Jetzt habe ich aber noch eine Frage:
Ich habe soeben erkannt, dass ich damit doch nur den Klassennamen des Controls erhalte, aber nicht den eigentlichen Namen, mit welchem ich mit Hilfe von

IntPtr hwndChild = FindWindowEx(hwndTemp, IntPtr.Zero, "FELDNAME", string.Empty);	
SendMessage(hwndChild,WM_SETTEXT,0, "TextText...");

etwas in diese TextBox schreiben könnte.

Wie bekomme ich denn den Control-Namen heraus?

04.11.2005 - 06:24 Uhr

Irgendwie verstehe ich das mit dem Enumerate nicht.

Wenn ich mir das Beispiel Creating, Enumerating, and Sizing Child Windows ansehe, dann nutzen die darin EnumChildProc um die Fenster zu bekommen. Genau das würde ich für die Controls benötigen, aber EnumChildProc wird doch nur einmal aufgerufen, wie kann es dann in diesem Beispiel alle Fenster resizen?

03.11.2005 - 16:06 Uhr

Hallo herbivore!
Bin am verzweifeln!

Das Control erhalte ich so.

EnumChildProcDelegate childDelegate = new EnumChildProcDelegate(this.EnumChildProc);
EnumChildWindows(hwndTemp, childDelegate, 0);

Anschließend erhält man mit

GetWindowTextA(lhWnd,sb,255);

den Inhalt des 1. Controls und mit

GetClassNameA(lhWnd,sb,255);

den Namen des 1. Controls.

Aber wie erhalt ich den Inhalt und Namen des 2. Controls?

03.11.2005 - 16:01 Uhr

Na klar ist das nur ein Beispiel. =)

03.11.2005 - 06:55 Uhr

Hmm... Da bin ich zugegebener Maßen jetzt schon etwas verdutzt.
Diese Zeile ist doch lediglich die Ausgabe.

Habe diese Zeile in meinem Programm ersetzt durch:

textBox_log.Text += "Name: "+ strName +" Wert: "+ strValue +"\\r\\n";

Die Methode

GetWindowTextA(lhWnd,sb,255);

liefert mir den TextBox-Inhalt der ersten TextBox und schreibt diesen mit einer maximalen Länge von 255 Charactern in den sb StringBuilder, wobei lhWnd mein gesuchtes Fenster ist.

Anschließend erhalte ich mit

GetClassNameA(lhWnd,sb,255);

den dazugehörigen Namen, mit den gleichen Bedingungen wie zuvor.

Doch wie erhalte ich die nächste TextBox?

Ich dachte, dass ich das nach

EnumChildProcDelegate childDelegate = new EnumChildProcDelegate(this.EnumChildProc);
EnumChildWindows(hwndTemp, childDelegate, 0);

irgendwie erreichen muss, dass er die nächste TextBox ausliest.
Aber anscheinend lag ich damit vollkommen falsch.

02.11.2005 - 10:58 Uhr

Bin ja schon die ganze Zeit am probieren.

Habe aber ehrlich gesagt noch Verständnisprobleme mit dem gegebenen Code und folglich ist es momentan nahezu ein Try&Error Prinzip.

Wenn man es aufgliedert:

EnumChildProcDelegate childDelegate = new EnumChildProcDelegate(this.EnumChildProc);
EnumChildWindows(hwndTemp, childDelegate, 0);

Was bewerikt die 1. und was die 2. Zeile?
Vor allem für was ist die 0?

Hier muss ich irgendwie ansetzten, so weit ich das durchblickt habe, der Rest kann unberührt bleiben. Stimmt doch oder?

Edit:
Und das

sb=sb=...

kann man doch durch

sb=...

ersetzten. Oder hat das einen Nutzen, den ich jetzt nicht verstehe?

02.11.2005 - 10:33 Uhr

Das ist wirklich spitze! Vielen Dank!

Habe schon rumprobiert, aber wie bekomme ich die Namen aller Textboxen in einem Fenster?

02.11.2005 - 09:48 Uhr

Oder besser gefragt:
Wie bekomme ich den Namen der TextBox heraus?

02.11.2005 - 09:29 Uhr

Aber woher weis man, dass das Textfeld "Edit" heißt?

Nehmen wir an ich habe ein Fenster eines eMailprogrammes und möchte dort den Empfänger, Betreff und Text eintragen und anschließend auf Senden klicken.
Wie geht so etwas dann?

02.11.2005 - 09:18 Uhr

Danke für das Beispiel, aber ich wollte Klicks auf Buttons anderer Programme definieren, deren Koordinaten im Vollbild schließlich immer identisch sind und folglich vordefiniert werden können.