|
You last visited: Today at 00:46
Advertisement
[C#] Togglebutton Fehler.
Discussion on [C#] Togglebutton Fehler. within the .NET Languages forum part of the Coders Den category.
06/30/2014, 15:39
|
#1
|
elite*gold: 0
Join Date: Jun 2013
Posts: 40
Received Thanks: 0
|
[C#] Togglebutton Fehler.
Ich habe ein kleines Anmeldeskript für einen Prozess namens game.bin geschrieben. Ich habe das ganze als Checkbox gemacht, um einen Togglebutton zu bekommen. Mit einem normalen Button hat soweit alles funktioniert(einziger Unterschied ist dass die Variable a immer gleich bleibt)
Ein zweiter Button diente dabei als Stop Button.
Es sollte zumindest bei einmaligem Klicken funktionieren!
Hier einmal der Teil des Toggle-Buttons:
Code:
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
int a = 1;
string pName = "game.bin";
const uint WM_KEYDOWN = 0x0100;
a = a - 1;
Process[] processes = Process.GetProcessesByName(pName);
foreach (Process p in processes)
if (p.ProcessName == pName)
{
while (a == 0) ;
ActivateApp(pName);
PostMessage(p.MainWindowHandle, WM_KEYDOWN, (int)Keys.E, 0);
System.Threading.Thread.Sleep(200);
PostMessage(p.MainWindowHandle, WM_KEYDOWN, (int)Keys.N, 0);
System.Threading.Thread.Sleep(200);
PostMessage(p.MainWindowHandle, WM_KEYDOWN, (int)Keys.D, 0);
System.Threading.Thread.Sleep(200);
}
}
|
|
|
06/30/2014, 15:51
|
#2
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
a ist lokal und kann daher nicht von einer 2. methode verändert werden, falls das, das problem ist.
dazu würde ich dir empfehlen mit Booleans zu arbeiten anstatt ints mit 1 und 0.
|
|
|
06/30/2014, 18:52
|
#3
|
elite*gold: 0
Join Date: Jun 2013
Posts: 40
Received Thanks: 0
|
Quote:
Originally Posted by Requi
a ist lokal und kann daher nicht von einer 2. methode verändert werden, falls das, das problem ist.
dazu würde ich dir empfehlen mit Booleans zu arbeiten anstatt ints mit 1 und 0.
|
Ich habe die a Variable jetzt zusammen mit dem a= a+1 in die if klammer gepackt, aber nunmehr macht das Programm gar nichts mehr außer sofort freezen, wenn ich den start button klicke!
Könnte mir dazu jemand einen Tipp geben:
(und noch wichtiger: Momentan kann man kein zweites Mal auf start klicken, da man im Fenster sofort nichts mehr machen kann)
Wie kann ich den Wert einer Boolean ändern(also bspw. nach false )?
Code:
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
string pName = "game.bin";
const uint WM_KEYDOWN = 0x0100;
Process[] processes = Process.GetProcessesByName(pName);
foreach (Process p in processes)
if (p.ProcessName == pName)
{
int a = 1;
a = a - 1;
while (a == 0) ;
ActivateApp(pName);
PostMessage(p.MainWindowHandle, WM_KEYDOWN, (int)Keys.E, 0);
System.Threading.Thread.Sleep(200);
PostMessage(p.MainWindowHandle, WM_KEYDOWN, (int)Keys.N, 0);
System.Threading.Thread.Sleep(200);
PostMessage(p.MainWindowHandle, WM_KEYDOWN, (int)Keys.D, 0);
System.Threading.Thread.Sleep(200);
}
|
|
|
06/30/2014, 19:31
|
#4
|
elite*gold: 46
Join Date: Oct 2010
Posts: 782
Received Thanks: 525
|
while (a == 0) ;
Deswegen freezt dein Programm. Machst die ganze Zeit einfach nichts.
|
|
|
06/30/2014, 19:33
|
#5
|
elite*gold: 3570
Join Date: Dec 2012
Posts: 13,044
Received Thanks: 8,252
|
Quote:
Originally Posted by omitma
while (a == 0) ;
Deswegen freezt dein Programm. Machst die ganze Zeit einfach nichts.
|
Und weil alle Methoden im UI Thread laufen.
|
|
|
06/30/2014, 19:51
|
#6
|
elite*gold: 0
Join Date: Jun 2013
Posts: 40
Received Thanks: 0
|
Quote:
Originally Posted by omitma
while (a == 0) ;
Deswegen freezt dein Programm. Machst die ganze Zeit einfach nichts.
|
Vielen Dank an euch beide. Das war es.
Nun funktioniert alles wie es gedacht war!
So ein simpler Fehler
Könntest du mir eventuell noch erklären, wie ich eine Boolean Variable von bspw. true nach false stelle?
Mit welchem Befehl mache ich das?
|
|
|
06/30/2014, 21:06
|
#7
|
elite*gold: 26
Join Date: Dec 2010
Posts: 2,628
Received Thanks: 1,816
|
Quote:
Originally Posted by End-of-Olymp
Vielen Dank an euch beide. Das war es.
Nun funktioniert alles wie es gedacht war!
So ein simpler Fehler
Könntest du mir eventuell noch erklären, wie ich eine Boolean Variable von bspw. true nach false stelle?
Mit welchem Befehl mache ich das?
|
Code:
Boolean b = true; //ist am anfang wahr
b = false; // wird dann falsch
|
|
|
07/01/2014, 02:39
|
#8
|
elite*gold: 1
Join Date: Aug 2013
Posts: 1,898
Received Thanks: 1,346
|
Du brauchst doch gar keinen bool?
Code:
//private bool AllowChanges = true;
private string pName = "game.bin";
private const uint WM_KEYDOWN = 0x0100;
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
Process[] processes = Process.GetProcessesByName(pName);
while (checkBox1.CheckState == CheckState.Checked)
{
foreach (Process p in processes)
{
if (p.ProcessName == pName)
{
ActivateApp(pName);
PostMessage(p.MainWindowHandle, WM_KEYDOWN, (int)Keys.E, 0);
System.Threading.Thread.Sleep(200);
PostMessage(p.MainWindowHandle, WM_KEYDOWN, (int)Keys.N, 0);
System.Threading.Thread.Sleep(200);
PostMessage(p.MainWindowHandle, WM_KEYDOWN, (int)Keys.D, 0);
System.Threading.Thread.Sleep(200);
}
}
}
}
private void stopButton_Click(object sender, EventArgs e)
{
checkBox1.CheckState = CheckState.Unchecked;
}
|
|
|
 |
Similar Threads
|
So ein Fehler gibt es nicht, DB alels funzt ingame Fehler -.-
01/19/2012 - Metin2 Private Server - 6 Replies
Hey Com,
ich habe alles gestartet (Hamachi Daroo Files).
Navicat geht, alles funzt nur folgendes:
Wenn ich mich mit falschen Logins einlogge:
Dieser Account existiert nicht.
Wenn ich richtige Daten eingebe:
Fehler beim Verbinden mit dem Server
|
Infinite Aion: Fehler (1024) Fehler beim initialisieren des Spiels
06/09/2011 - Aion Private Server - 5 Replies
Hi Leute,
ich hab ein Probem mit AION:
jedesmal wenn ich starte, egal ob mit dem NCSoft Launcher oder mit dem Infinite Aion Launcher kommt die Meldung Fehler beim initialisieren des Spiels...
Hab schon alle möglichen Sprachkombinationen durchprobiert, da es überall heißt man soll Region und Sprache beim NCSoft Launcher ändern und dann gehts...
Alles probiert, und siehe da: geändert hat sich nichts... Immer noch der Fehler 1024...
wäre nett, wenn mir da jemand helfen könnte und auch...
|
Fehler : java.net.socet.exception:connection reset fehler bitte um hilfe
12/21/2010 - Minecraft - 9 Replies
Hab denn java.net.socet.exception:connection reset fehler immer und immer wieder
:(
könnt ihr mir dabei vill helfen? :)
LG DieVerrückteMango =)
|
All times are GMT +1. The time now is 00:47.
|
|