Laden...
K
Kalleberlin
myCSharp.de - Member
24
Themen
165
Beiträge
Letzte Aktivität
vor 13 Jahren
Dabei seit
11.06.2007
Alter
41
Erstellt vor 15 Jahren

@ JAck30lena

mouseleave bringt nicht viel, weil das auch beim Button-Überfahren innerhalb der Form stattfindet 😦

Du würdest ja rausbekommen ob das Event beim Button-Überfahren auslöst, oder eben wann Du es wirklich brauchst (einfach Prüfen ob an der Mouse location nen button ist oder nicht).

Ich denke das geht auch ohne Global-Hook.

//kalleberlin

Erstellt vor 15 Jahren

Hallo Siassei,

ich würde einfach mittels WinPcap einen kleinen Sniffer basteln, der sämtlichen eingehenden Traffic abhört.

Da Du dadurch direkten zugriff auf die Pakete hast, sollte es recht simpel sein daraus den Traffic abzuleiten.

//Kalleberlin

Erstellt vor 15 Jahren

Gerade eben beim Surfe 😉


[DllImport("user32.dll")]
private static extern Int32 EnableMenuItem ( System.IntPtr hMenu , Int32 uIDEnableItem, Int32 uEnable);
private const Int32 HTCAPTION = 0×00000002;
private const Int32 MF_BYCOMMAND =0×00000000;
private const Int32 MF_ENABLED =0×00000000;
private const Int32 MF_GRAYED =0×00000001;
private const Int32 MF_DISABLED =0×00000002;
private const Int32 SC_MOVE = 0xF010;
private const Int32 WM_NCLBUTTONDOWN = 0xA1;
private const Int32 WM_SYSCOMMAND = 0×112;
private const Int32 WM_INITMENUPOPUP = 0×117;

protected override void WndProc(ref System.Windows.Forms.Message m )
{
if( m.Msg == WM_INITMENUPOPUP )
{
//handles popup of system menu
if ((m.LParam.ToInt32() / 65536) != 0 ) // 'divide by 65536 to get hiword
{
Int32 AbleFlags = MF_ENABLED;
if (!Moveable)
{
AbleFlags = MF_DISABLED | MF_GRAYED; // disable the move
}
EnableMenuItem(m.WParam, SC_MOVE, MF_BYCOMMAND | AbleFlags);
}
}if(!Moveable)
{
if(m.Msg==WM_NCLBUTTONDOWN) //cancels the drag this is IMP
{if(m.WParam.ToInt32()==HTCAPTION) return;
}
if (m.Msg==WM_SYSCOMMAND) // Cancels any clicks on move menu
{
if ((m.WParam.ToInt32() & 0xFFF0) == SC_MOVE) return;
}
}
base.WndProc(ref m);
}

Erstellt vor 16 Jahren

Hallo herbivore,

Insofern lag ich also doch richtig. 🙂

Das is ja das schlimme, Du hast fast immer recht 😄.

@Benni83,

da stimme ich Dir voll und ganz zu. Aber es ist halt auch so, solange man die genaue Syntax nicht kennt, kann man sich eben auch eine ganze menge Ärger einfangen.

Und Fakt ist auch, Regex ist ziemlich langsam!

Kalleberlin

Erstellt vor 16 Jahren

Hallo alle,

also ich hab es jetzt so gelöst, das ich alle "lerrräume" die länger als 1 leerzeichen sind auf 1 gekürzt habe. so matcht er auch alles richtig wenn ich die leerzeichen ins pattern reinschreibe.

danke für eure hilfe.

@Benni83,

danke für den Tip, ich bin noch ziemlich blutiger anfänger in regex.

BTW: ich bin bis jetzt auch nicht davon überzeugt. langsam, schwer in der handhabung - da ist es für mich persönlich leichter das per hand zu implementieren. schneller wäre es dann auch. denke das war vorerst mein letzter regex ausflug^^

Kalleberlin

Erstellt vor 16 Jahren

Hallo herbivore,

zwischen den letzen beiden Ziffern ist definitv immer (mindestens) ein Lerrzeichen.

Die Ausgangssituation ist so wie ich sie euch geschildert habe.

Kalleberlin

Erstellt vor 16 Jahren

Hallo xxxprod,

wenn ich da jetzt Lerrzeichen rein setze, matcht gar nix mehr.

Ich habe den pattern ja auch mit dem Regex Tester getestet. Es funkioniert ja auch alles wunderbar. nur eben das letzte Ende ist falsch.

Hallo herbivore,

ich hatte in meinem Pattern noch nie lerrzeichen drin stehen. Und wie oben erwähnt, wenn ich die einsetze, matcht gar nix mehr.

Ich hab jetzt mal nur "([0-9]+) ([0-9]+)" hier ein leerzeichen eingesetzt, dann trifft auch nichts mehr...

Vielen dank für eure hilfe, aber nun bin ich verwirrt 🙁

Kalleberlin

Erstellt vor 16 Jahren

Guten Morgen 😃,

Mein aktuelles Pattern:


protected const string SearchPattern =
            @"([0-99]{2}\/[0-99]{2}\/[0-9999]{4})" + 
            @"([0-99]{2}\:[0-99]{2}\:[0-99]{2}\.[0-99]{2})" + 
            @"([0-99]{2}\:[0-99]{2}\:[0-99]{2}\.[0-99]{2})" + 
            @"([A-Z])" +
            @"([0-99]{4}_[0-99]{16})" + 
            @"([A-Z][0-9])" + 
            @"([0-9]+)" +
            @"([0-9]+)"

Mein aktueller String:


"09/08/2008 16:58:06.61 00:00:00.49 R 0000_0000000164750397 A4 3 90"

Mein aktueller debug im Anhang.

Gruß,
Kalleberlin

Erstellt vor 16 Jahren

Hallo herbivore,

ich habe den Sourcecode leider gerade nicht da (auf Arbeit). Ich Sende morgen mal ein Screenshot vom debugger.

Den Wert selber hole ich mir mittels int.Parse aus der der Gruppe[index].

Ich hatte mein pattern (am ende) vor dem Forums eintrag so:

@"([0-99]$)" + //Hier happerts
@"([0-99]
$)";

Ich denke mal das ich xxxprods pattern getestet habe, allerdings bin ich mir gerade ziemlich unsicher, da deine Aussagen so gut wie immer Hand und Fuss haben 😄.

Danke,

Kalleberlin

Erstellt vor 16 Jahren

Hallo herbivore,

ohne dein Regex-Tester, hätte ich den suchpattern niemals so zustande bekommen 😄.

Und wegen 3 bzw 39, er matcht definitiv auf 39, sonst hätte ich mich nicht gemeldet 😉.

Ist es "falsch" das ich nur in die Gruppen schaue?

Kalleberlin
//edit:

In deinem Regex-lab, matcht es ja auch richtig 😕