Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

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

Wie kann man ein C Sharp Programm als Windows Dienst umschreiben?

Frage Entwicklung C und C++

Mitglied: alcapone991

alcapone991 (Level 1) - Jetzt verbinden

27.02.2012 um 08:45 Uhr, 4100 Aufrufe, 3 Kommentare

Hallo,

ich möchte nun endlich zum Abschluss meines Projekts kommen und muss nur noch mein C# Programm, beim Ein- oder Ausstecken des Lankabels die Wlankarte im Gerätemanager de- oder aktiviert, mit Visual Studio als Windows Dienst umschreiben.

Der Quelltext des Programms sieht so aus:




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.NetworkInformation;
using System.Management;

namespace Examples.Net.AddressChanges
{
public class NetworkingExample
{
public static void Main()
{
NetworkChange.NetworkAddressChanged += new
NetworkAddressChangedEventHandler(AddressChangedCallback);
Console.WriteLine("Listening for address changes. Press any key to exit.");
Console.ReadLine();
}
static void AddressChangedCallback(object sender, EventArgs e)
{
NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
foreach(NetworkInterface n in adapters)
{
if (n.Name == ("Local Area Connection"))

{
if (n.Speed == 0)
{
Console.WriteLine("Enable");
enable WLAN
Wireless Network Connection
WlanAction1();
}
else
{
Console.WriteLine("Disable");
Disable WLAN
WlanAction();
}
}
}
}


function Disable Wlan

public static void WlanAction()
{
Console.WriteLine("Disable Function");
SelectQuery wmiQuery = new SelectQuery("SELECT * FROM Win32_NetworkAdapter");
WHERE Name = 'Wireless Network Connection'"
ManagementObjectSearcher searchProcedure = new ManagementObjectSearcher(wmiQuery);
foreach (ManagementObject item in searchProcedure.Get())
{

if (((string)item["NetConnectionID"]) == "Wireless Network Connection")
NEtConnection Status = 2 for Active, 7 for LAN not connected
{
item.InvokeMethod("disable",null);
item.Put();
Console.WriteLine(item["name"]);
}
}
}

function Enable Wlan
public static void WlanAction1()
{
SelectQuery wmiQuery = new SelectQuery("SELECT * FROM Win32_NetworkAdapter");
ManagementObjectSearcher searchProcedure = new ManagementObjectSearcher(wmiQuery);
foreach (ManagementObject item in searchProcedure.Get())
{
if (((string)item["NetConnectionID"]) == "Wireless Network Connection")

{
item.InvokeMethod("Enable", null);
}
}
}
}
}








...und das hier ist die Blankoform des Windowsdienstes:




using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Net;
using System.Net.NetworkInformation;
using System.Management;



namespace Testdienst
{
static class Program
{
/ <summary>
/ Der Haupteinstiegspunkt für die Anwendung.
/ </summary>
static void Main()
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1()
};
ServiceBase.Run(ServicesToRun);
}
}
}


Ich habe den Quelltext schon an alle möglichen Stellen eingefügt, aber es zeigt mir immer noch Programmteile als fehlerhaft an.

Hoffe jemand von euch kann mir helfen.

Danke und Gruß,
alcapone991
Mitglied: Dani
27.02.2012 um 10:28 Uhr
Moin,
die Forumformatierungsmöglichkeiten sind dir bekannt für Quellcode?!
Schau dir diese Anleitung an.


Grüße,
Dani
Bitte warten ..
Mitglied: SlainteMhath
27.02.2012 um 11:55 Uhr
Moin,

schonmal mit einer Suche bei Google probiert?
Der erste Treffer: http://msdn.microsoft.com/en-us/library/zt39148a(v=vs.80).aspx

/EDIT
01.
Console.WriteLine [...] 
02.
Console.ReadLine [...]
Hat in einem Dienst nichts zu suchen. Da wirds reines copy&paste nicht tun

lg,
Slainte
Bitte warten ..
Mitglied: alcapone991
16.03.2012 um 07:55 Uhr
Zitat von SlainteMhath:
Moin,

schonmal mit einer Suche bei Google probiert?
Der erste Treffer: http://msdn.microsoft.com/en-us/library/zt39148a(v=vs.80).aspx

/EDIT
01.
> Console.WriteLine [...] 
02.
> Console.ReadLine [...] 
03.
> 
Hat in einem Dienst nichts zu suchen. Da wirds reines copy&paste nicht tun

lg,
Slainte



Moin,

vielen Dank erstmal für eure Antworten.
Im Grunde war es so wie du gesagt hast, Visual Studio 2010 bietet sogar eine Dienst-Erstellungs-Funktion an und man muss den Code nur richtig reinkopieren.
Allerdings in die "Whatauchever.cs" und nicht in die "Program.cs", das war meine Stolperfalle.

Schönes Wochenende allerseits
alcapone991
Bitte warten ..
Ähnliche Inhalte
C und C++
gelöst C-Sharp Process.Start und SubProcesses (4)

Frage von mayho33 zum Thema C und C ...

Windows Server
C sharp oder Powershell oder VB? (3)

Frage von 1410640014 zum Thema Windows Server ...

C und C++
gelöst Ist "C Sharp" das Richtige für mich, als Neuling (9)

Frage von BlueLines zum Thema C und C ...

C und C++
gelöst C-sharp Form buggt (2)

Frage von Yanmai zum Thema C und C ...

Neue Wissensbeiträge
Humor (lol)

Wo ist der Fehler auf dem Bild?

(2)

Information von the-buccaneer zum Thema Humor (lol) ...

Windows Update

Offenbar erneutes MS-Update mit Fehlerschleife (2012 R2)

Information von VGem-e zum Thema Windows Update ...

Windows Installation

Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen

(14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Heiß diskutierte Inhalte
Exchange Server
gelöst Proxy Server Settings Cloud + EWS (17)

Frage von SomebodyToLove zum Thema Exchange Server ...

Windows Server
PDF Editor für den Einsatz auf Terminal Servern (16)

Frage von kwame501 zum Thema Windows Server ...

Windows Installation
Unorthodoxer Weg, um an einen Offline-Installer für Adobe Flash zu kommen (14)

Tipp von beidermachtvongreyscull zum Thema Windows Installation ...

Virtualisierung
Unterschied zwischen VDI und Terminal Server Lösungen (13)

Frage von tukawi06 zum Thema Virtualisierung ...