Laden...

Pingen

Erstellt von thream vor 18 Jahren Letzter Beitrag vor 18 Jahren 1.724 Views
T
thream Themenstarter:in
4 Beiträge seit 2005
vor 18 Jahren
Pingen

Hallo!

Ich möchte ein Programm machen, das mit einem Timer minütlich überprüft ob eine Internet verbindung da ist, und sobald eine Verbindung vorhanden ist, soll der timer ausgeschalten werden, und befehle ausgeführt werden.
Ich weiß nur nicht wie ich das mit dem Pingen machen soll, hab da zwar schon hier danach gesucht, da gibts aber nur ewig Komplizierte Lösungen, geht das nicht irgendwie einfacher?

Und noch eine Frage, wie mache ich es, dass das Programm gleich beim Hochfahren startet, ohne es in den Autostart Ordner zu kopieren?

Jürgen

S
125 Beiträge seit 2005
vor 18 Jahren

Also um dir bei deiner ersten Frage zu helfen:

Schau mal hier --> Ping mit und ohne Console (zweite Antwort von Pulpapex)

Ich glaub einfacher als dort wirste es wohl kaum finden. 😉

Zu deiner zweiten Frage kann ich nicht viel sagen... 🙁

*************************
Ich bin root, ich darf das... 😜
root>_
*************************

L
50 Beiträge seit 2005
vor 18 Jahren

das mit dem autostart funktioniert über nen registry eintrag den du hinzufügen musst

T
thream Themenstarter:in
4 Beiträge seit 2005
vor 18 Jahren

Hallo!

Danke mal für die Antworten, für mein erstes Problem hab ich schon ne Lösung gefunden.
Aber wie mache ich das mit einem Registry Eintrag, kann mir das jemand mal genau erklären, bin nämlich ein ziemlicher ANfänger.

Dann hab ich noch ne Frage, kann man bei c# eigentlich ne site ansurfen auch, wie bei vb6 mit Open("http://....")?

Jürgen

2.921 Beiträge seit 2005
vor 18 Jahren

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
(gilt nur für angemeldeten User)

oder HKEY_LOCAL_MACHINE (gilt für kompletten Computer)

Dort einen Eintrag erstellen und der StringValue ist der Pfad (komplett mit exe-Namen)
z.B.

D:\MeineProgramme\Wasichstartenwill.exe

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

2.921 Beiträge seit 2005
vor 18 Jahren

oder benutze das hier (habe eine Klasse erstellt):


using System;
using Microsoft.Win32;
namespace RegistryAutostart
{
	/// <summary>
	/// Summary description for RegistryHelper.
	/// </summary>
	public class RegistryHelper
	{
		public RegistryHelper()
		{
			//
			// TODO: Add constructor logic here
			//
		}

		/// <summary>
		/// use this to set an Autostart key for your programme...
		/// </summary>
		/// <param name="regKey">choose Registry.CurrentUser or Registry.LocalMachine here</param>
		/// <param name="sKeyName">name your key</param>
		/// <param name="sPathValue">path of your exe to start</param>
		/// <param name="sExeParamValue">eventual parameters of your startup-exe</param>
		public void WriteAutoStartKey(RegistryKey regKey,string sKeyName, string sPathValue, string sExeParamValue)
		{
			//open key 
			RegistryKey regSubKey = null;
			regSubKey = regKey.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Run",true);
			
			//if no / for parameter add it!!!
			if (sExeParamValue!=null && sExeParamValue.Length>0)
			{
				if (sExeParamValue[0]!='/')
				{
					sExeParamValue = "/"+sExeParamValue;
				}
			}
			//write it into registry
			regSubKey.SetValue(sKeyName,sPathValue+" "+sExeParamValue);
			regSubKey.Close();
		}
	}
}

zu starten mit


	RegistryHelper regHelper = new RegistryHelper();
			                 regHelper.WriteAutoStartKey(Registry.CurrentUser,"Test",@"c:\meineexe\dasistsie.exe","parameter");
[/csharp}

Hoffe geholfen zu haben. :-)

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

2.921 Beiträge seit 2005
vor 18 Jahren

copy & paste müsste ausreichen...

erstell eine neue klasse in deinem projekt mit dem gleichen namen (sonst umbenennen) und kopier den Code dort rein.

dann starten wie im unteren teil beschrieben

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

T
thream Themenstarter:in
4 Beiträge seit 2005
vor 18 Jahren

Hallo!

Gut, danke für die Antworten, aber geht das mit Open jetzt auch was ich oben geschrieben habe, oder gibts das bei c# nicht?

Jürgen

2.921 Beiträge seit 2005
vor 18 Jahren

wenn Du damit meinst den InternetExplorer zu öffnen dann so:


using System.Diagnostics;

...

ProcessStartInfo proc = new ProcessStartInfo("http://sharporbit.lacc.de");  
Process.Start(proc);

Seit der Erkenntnis, dass der Mensch eine Nachricht ist, erweist sich seine körperliche Existenzform als überflüssig.

1.985 Beiträge seit 2004
vor 18 Jahren

Guten Morgen thream,

bzgl. dem Pingen kannst Du auch diese Klasse hier nehmen: http://www.dotnet-magazin.de/itr/online_artikel/psecom,id,551,nodeid,31.html

Sie implementiert den eigentlichen Pingbefehl, so dass Du nicht auf Programme wie ping angewiesen bist.

Gruß,
Fabian

"Eine wirklich gute Idee erkennt man daran, dass ihre Verwirklichung von vornherein ausgeschlossen erscheint." (Albert Einstein)

Gefangen im magischen Viereck zwischen studieren, schreiben, lehren und Ideen umsetzen…

Blog: www.fabiandeitelhoff.de

T
thream Themenstarter:in
4 Beiträge seit 2005
vor 18 Jahren

Hallo!

@dr4g0n76: Ja, das is ne möglichkeit, die hatte ich aber auch schon, und ist nicht ganz das was ich meine.
Hier wird ein Browserfenster geöffnet, mich würds interessieren ob das auch ohne Browserfenster öffnen geht, bei VB wars zumindest so.

Jürgen

S
125 Beiträge seit 2005
vor 18 Jahren

Dann hab ich noch ne Frage, kann man bei c# eigentlich ne site ansurfen auch, wie bei vb6 mit Open("http://....")?

Such mal in der Doku nach WebRequest. Das sollte das sein was du suchst.

SGT_BOB

*************************
Ich bin root, ich darf das... 😜
root>_
*************************