Witam,
mam jedno pytanie. Jak w C# wyłączyć jakiś proces zachodzący w systemie, np. gg.exe? Jeśli ktoś może podać kod do tego, to proszę o podanie.
Pozdrawiam.
Witam,
mam jedno pytanie. Jak w C# wyłączyć jakiś proces zachodzący w systemie, np. gg.exe? Jeśli ktoś może podać kod do tego, to proszę o podanie.
Pozdrawiam.
Zabijanie procesów po nazwie to nieszczególnie dobry pomysł. Jeśli jednak musisz, to:
using System;
using System.Diagnostics;
using System.ComponentModel;
...
{
Process [] Notepads = Process.GetProcessesByName("notepad");
foreach (Process CurrentNotepad in Notepads)
{
CurrentNotepad.Kill();
}
}
GetProcessesByName i Kill mogą rzucać wyjątkami. Możliwość listowania procesów i zabijania oraz ewentualne wyjątki zależą od a) systemu operacyjnego b) tokenu procesu/wątku Twojego programu c) deskryptora bezpieczeństwa procesu który chcesz zabić d) sesji Twojego programu e) sesji programu który chcesz ubić.
Hej,
Wiem, że odświeżam kotleta, ale piszę prosty z pozoru projekt i nie wiem jak mam rozwiązać problem.
Potrzebuję zrobić aplikację Klient - Serwer, która będzie zamykała komputer Klient
Mam zestawione połączenie,
Mam sposób na wyłączanie, - zabijam Twoim sposobem svchost.exe i komp się drastycznie wyłącza.
Pytanie moje teraz takie, jak mogę przesłać ten parametr zdalnie ?
Taką mam klasę połączeń
class DanePolaczenia
{
public TcpClient server;
public string Polacz(string adress, int port)
{
try
{
server = new TcpClient(adress, port);
return "Połączono";
}
catch (SocketException)
{
return "Nie można nawiązać połączenia";
}
Tak się łączę
private void connect_button_Click(object sender, EventArgs e)
{
string komunikat_komp1, komunikat_komp2;
DanePolaczenia Polaczenie = new DanePolaczenia();
komunikat_komp1 = Polaczenie.Polacz("127.0.0.1", 9050);
connect1.Text = komunikat_komp1;
A tak odbieram połączenie …
class SimpleTcpSrvr
{
public static void Main()
{
int recv;
byte[] data = new byte[1024];
TcpListener serwer = new TcpListener(9050);
serwer.Start();
Console.WriteLine("...Oczekiwanie na połączenie...");
TcpClient client = serwer.AcceptTcpClient();
NetworkStream ns = client.GetStream();
IPEndPoint clientep = (IPEndPoint)client.Client.RemoteEndPoint;
Console.WriteLine("Połączono na adresie IP {0} i porcie {1}", clientep.Address, clientep.Port);
string message = "Zalogowano";
data = Encoding.ASCII.GetBytes(message);
ns.Write(data, 0, data.Length);
while (true)
{
data = new byte[1024];
recv = ns.Read(data, 0, data.Length);
if (recv == 0)
break;
Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
message = "Thank";
ns.Write(Encoding.ASCII.GetBytes(message), 0, message.Length);
}
Console.WriteLine("Rozłączono z numerem IP {0}", clientep.Address);
client.Close();
serwer.Stop();
Console.ReadLine();
}
}
Jak to spiąć ze sobą, żeby przy zastosowaniu przycisku a Kliencie -> serwer zgasł jak wspomniałem przy użyciu zabijania svchost
Nie lepiej jest uruchomić proces shutdown /s??
Process.Start("shutdown /s");
Pozdrawiam.