Hallo,
Du könntest periodisch alle Fenster eroieren die gerade angezeigt werden und der entsprechenden MessageBox eine Message senden (alles nur native über Platform Invoke)
Stichworte:
EnumWindows und EnumWindowsProc - finden der Fenster (Beispiel)
SendMessage - schicken von Nachrichten
Grüsse,
Egon
Original von herbivore
PPS: Ich habe die Grafik stark komprimiert, um die Projektgröße gering zu halten.
Dadurch wirkt sie natürlich noch mal schlechter als sie ohnehin schon ist.
Hallo Herbivore,
Ich muss sagen, soo0 schlecht wie Du deine Rendergrafik hinstellst ist die aber auch nicht - erinnert mich irgendwie an "Eye of the Beholder" falls Du das gekannt hast.
Grüsse,
Egon
Hallo,
so z.B.:
using System;
using System.IO;
public class WriterTest
{
public static void Main( string[] args )
{
byte[] b1 = { 0xAA, 0xBB, 0xCC };
byte[] b2 = { 0xDD, 0xEE, 0xFF };
BinaryWriter writer = new BinaryWriter(( new StreamWriter( "test.dat" )).BaseStream );
writer.Write( b1 );
writer.Write( b2 );
writer.Close();
}
}
Grüsse,
Egon
Hallo,
wie der Vorposter schon sagte wird im Bereich Windows Forms nur das 1.1er komplett abgedeckt und das 2.0er zum grössten Teil - in den kommenden Monaten wird sich das aber ändern auch 2.0 komplett abgedeckt. (Version 2.0 von Mono, lt. Roadmap gescheduled für Q3/2007)
Bei anderen Teilen ist man schon komplett auf 2.0 (mit der Ausnahme von Windows spezifischen Sachen wie beispielsweise Management, etc). Mit der aktuellen Version 1.2.5 werden sogar schon die meisten Dinge aus dem 3.0er C# Standard unterstützt mit ausnahme von "LINQ to XML" und "LINQ to ADO".
Grüsse,
Egon
Hallo,
auch wenn es im normalfall unüblich ist, die Thread Affinität manuell zu setzen (da wie Herbivore schon sagte es aufgabe des Schedulers sein sollte dies zu machen), so gibt es wie bei beinahe allen Dingen eine Win32 API Funktion dafür:
Wenn es nicht unbedingt sein muss und einen driftigen Grund hat, würde ich davon allerdings die Finger lassen.
Grüsse,
Egon
Hallo Jack_AI,
ich stand vor einigen Monaten auch vor der entscheidung ob - und vor allem welchen PDA ich mir zulegen sollte. Nach abwägen aller Vor- und Nachteile habe ich mich dann gegen einen Windows Mobile basierten, zugunsten eines Linux basierten entschieden.
Genauer gesagt für den Nokia 770 Internet Tablet PC (von dem ich mir in absehbarer Zeit den Nachfolger N800 besorgen werde). Als Vorteile gegenüber dem Windows basierten habe ich folgendes gesehen:
Als nachteil sehe ich allerdings die nicht verfügbarkeit von Software welche auf Windows Mobile heutzutage als Standard gesehen wird (PIM z.b. muss nachinstalliert werden, etc)
Falls Du allerdings ein Gerät suchst, mit dem Du hauptsächlich selbstgeschriebene Sachen einsetzten willst dann kann ich das Teil nur empfehlen.
Grüsse,
Egon
Hallo,
ich verwende auf jedem System wo ich arbeite eine Logitech "Mini Optical Mouse" (hab ich sogar meistens eine mit damit ich wenn ich z.b. bei Bekannten was machen muss die einfach anstecken kann). Ich mag keine Mäuse welche zu gross, plump und mit vielen Funktionen überladen sind. Von Bluetooth oder Funkmäusen mal ganz abgesehen, denn die haben ein Gewicht dass man mit der Zeit "Mister Universe" im Handgelenk wird.
Grüsse,
Egon
Hallo,
warum nicht z.B. so:
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
public class DeleteOnExit
{
private List<FileInfo> m_FilesToDelete;
public static void Main( string[] args )
{
new DeleteOnExit( args );
}
public DeleteOnExit( string[] files )
{
m_FilesToDelete = new List<FileInfo>();
foreach( string file in files )
{
Console.Out.WriteLine( "Marking file {0} for deletion", file );
m_FilesToDelete.Add( new FileInfo( file ));
}
}
~DeleteOnExit()
{
foreach( FileInfo fi in m_FilesToDelete )
{
Console.Out.WriteLine( "Deleting file: {0}", fi.Name );
}
}
}
Etwas ausgebaut könntest Du von überall in deiner Applikation aus Files zum löschen schedulen die dann beim Programmende gelöscht werden.
Grüsse,
Egon
Hallo,
den Icon Cache kannst Du beispielsweise mittels des PowerToys "TweakUI" wieder reparieren (gibts bei Microsoft)
Grüsse,
Egon
... oder nimm das Mono Framework für Windows, pack es auf einen USB Stick und gut is. (Musst halt deine Programme dann mit "mono programm.exe" starten)
Grüsse,
Egon
Original von 0815Coder
Und dann noch der eine mit Elijah Wood... fällt mir nicht ein... auf der Verpackung steht er recht teilnahmslos mitten in einem Sonnenblumenfeld... grandioser Film.
Du meinst sicherlich "Alles ist erleuchtet"
Grüsse,
Egon
Hallo,
Vista war für mich die letzte Bevormundung durch Microsoft die ich gebraucht habe um wieder zu meinen Wurzeln (Unix/Linux) zurückzukehren.
Der Grund liegt einfach darin, dass ich Herr über meinen eigenen Rechner sein möchte und mich nicht von Microsoft gängeln lassen will (z.B. ist es meine Sache welche Treiber ich laden will, auch wenn diese unsigned sind (1); Die alte Problematik mit User/Admin-Rechten wurde immer noch nicht sauber gelöst sondern nur mittels UAC verschleiert; Generell der noch extremer gewordene Klicksi-Bunti Stil; Das System wird mit jedem Release noch undurchschaubarer, kaum jemand weiss noch was die maschine gerade wirklich alles im Hintergrund macht)
Ich verdonnere Microsoft aber nicht für die oben genannten Dinge, für die meisten Anwender sind diese kein Hinderniss. Es ist halt meine persönliche Meinung und die Konsequenz die daraus erwuchs.
Grüsse,
Egon
(1) Wenn ich das System non-standard rekonfigurieren muss damit es unter x64 überhaupt unsigned Treiber annimmt ist das schon ein starkes Stück. Nicht jeder will sich einen für selbstgebaute Hardware entwickelten Treiber von Microsoft signieren lassen nur damit es auf einer Standardinstallation funktioniert.
Hallo,
es kommt immer drauf an, welche Art von Support du bieten möchtest. Für reines BugFixing, Feature Requests etc. kannst Du beispielsweise BugZilla oder TRAC verwenden. Sollte es eine kommerzielle Lösung sein mit der jede Art von Support und eine komplette Integration in die bestehende Infrastruktur sein die Du suchst, dann kann ich dir "HEAT" von Frontrange Solutions empfehlen - setzen wir hier seit ca. 5 Jahren ein und sind rundum zufrieden damit.
Beinhaltet unter anderem:
Grüsse,
Egon
Hallo,
ein Film den man gesehen haben sollte: Equilibrium
Endzeit, Gedankenkontrolle und so - wer die Thematik mag, kommt mit dem Film voll auf seine Kosten.
Grüsse,
Egon
Hallo,
wer auf solche Codeschmankerln steht, der sollte öfters mal unter www.thedailywtf.com vorbeischauen, die haben schon geniale Sachen auf Lager.
Grüsse,
Egon
Hallo,
Als ausgesprochener Kaffee-Junky brauch ich richtiges Zeug, keinen Automaten... Drum versuch ich immer die Sekretärin im Büro dazu zu bringen mir mit einer der letzten verbliebenen Filtermaschinen welchen zu machen - besonders gut kommt dabei immer die Masche: "Ich hab ne Besprechung in meinem Büro, bring uns bitte zwei Kaffee mit Zucker und Milch" (und in wirklichkeit bin ich alleine und sag dann dass der Gast kurz mal raus ist 😉
Grüsse,
Egon
Hallo,
bei solchen Druckertypen ist es oftmals so, dass diese über ein eigenes Protokoll anzusprechen sind (Zumindest war dies bei jenen Barcode/Bondruckern so die ich kenne). Überlicherweise schickst Du dazu entsprechende Daten im ASCII Format direkt über die serielle oder parallele Schnittstelle in jenem Format an den Drucker, welches im Referenzhandbuch angegeben ist.
Seriell:
http://msdn2.microsoft.com/en-us/library/system.io.ports.serialport.aspx
Parallel:
Dazu musst Du Interop verwenden. Siehe beispielsweise: http://www.codeproject.com/useritems/Inpout32_read.asp
Grüsse,
Egon
Hallo,
vielleicht keinen einige von euch so nette Applicationen wie beispielsweise TreePad oder Scribble Cards - es handelt sich dabei um ein hierachisch geordnetes System zur Verwaltung von Informationen. Leider sind diese Applikationen nur unter Windows verfügbar, weshalb ich angefangen habe ein entsprechendes Equivalent auf Basis von .NET und GTK# zu basteln.
Das System unterstützt zur Zeit folgende Features:* GUI basierende auf GTK#
Anbei noch ein Screenshot
/edit: Neue Version geuppt die einige Features implementiert (Contextmenü, Node delete) und auch unter Windows (wenn Gtk# installiert) lauffähig ist.
/edit: Neue Version geuppt die Icon Selection unterstützt und unter bestimmten Umständen keine Exceptions mehr wirft.
Hallo Herbivore,
ich hab das Problem jetzt gefunden - in meiner Mono Installation hat die Referenzierte Version der GLlib (2.10) über einen Symlink auf die ebenfalls installierte Version 2.4 gezeigt. Nachdem ich den Symlink umgedreht habe hat alles funktioniert wie es sollte.
Danke und Grüsse,
Egon
Hallo Herbivore,
das gleiche ist mir auch gerade in den Sinn gekommen, deshalb hab ich mir die Definition des Interfaces innerhalb der Referenzierten DLL mittels des Reflectors angesehen.
Leider ernüchterung: Die Definition ist die selbe
Also: Die Suche geht weiter 🙂
Grüsse, Egon
Hallo,
ich habe ein interessantes Problem mit der Implementierung des Gtk.TreeModel Interfaces. Laut Dokumentation (und Source) sieht die Definition von zwei Methoden des Interfaces folgendermassen aus:
GLib.GType GetColumnType(int index_);
void GetValue(Gtk.TreeIter iter, int column, ref GLib.Value value);
In meiner Implementierung des Interfaces meckert der Compiler nun dass ich diese beiden Methoden nicht implementiert habe, obwohl diese bei mir so implementiert sind:
public GLib.GType GetColumnType( int index ) { return GLib.GType.Object; }
public void GetValue( Gtk.TreeIter iter, int column, ref GLib.Value val ) {}
(dzt. nur als Stubs ausgeführt, daher kein Methodenbody)
Folgende Meldung wird vom Compiler geworfen:
[Task:File=/home/er/Projects/MonoCards/MonoCards/InfoTreeModel.cs, Line=10, Column=18, Type=Error, Priority=Normal, Description=
egrath.apps.MonoCards.InfoTreeModel' does not implement interface member
Gtk.TreeModel.GetValue(Gtk.TreeIter, int, ref GLib.Value)'.egrath.apps.MonoCards.InfoTreeModel.Value)' is either static, not public, or has the wrong return type(CS0536)] [Task:File=/home/er/Projects/MonoCards/MonoCards/InfoTreeModel.cs, Line=10, Column=18, Type=Error, Priority=Normal, Description=
egrath.apps.MonoCards.InfoTreeModel' does not implement interface memberGtk.TreeModel.GetColumnType(int)'.
egrath.apps.MonoCards.InfoTreeModel.GetColumnType(int)' is either static, not public, or has the wrong return type(CS0536)]
Weiss jemand was hier am laufen ist?
Danke und Grüsse,
Egon
Hallo,
wie man die Bilder von einer Webcam bekommt, hab ich mal vor einiger Zeit in einem Projekt von mir beschrieben:
http://www.geocities.com/egon_rath/avicap.html
Grüsse,
Egon
Hallo,
ich benutze ebenfalls eine abartige Mischung aus weniger als 10 Fingern. Funktioniert aber soweit so gut:
Your score: 371 keys per minute ~ 74 words per minute
Language/mode: de
Ranking: That was fast - you can still improve, though.
Comparison: 15% of registered TyperA users using this language have typed a better result; 85% have a lower or equal result.
Grüsse,
Egon
Hallo,
ohne das Finereader SDK zu kennen: Gehen muss es, da jemand dazu im Microsoft Forum fragen gestellt hat (nur Kleinigkeiten)
Ich würd mal schauen ob die DLL's COM Objekte exportieren und wenn ja, diese importieren und wie in der SDK Doku beschrieben benutzen.
Grüsse,
Egon
Hallo,
also grundsätzlich sollte auf beinahe allen Geräten auf denen Linux läuft und die einer gewisse Mindestanforderung entsprechen auch ein SVN Daemon laufen.
Ich habe beispielsweise daheim einen Asus WL-500G Route als kleines NAS/Server System missbraucht indem ich OpenWRT als Betriebssystem und anschliessend Samba als Fileserver und SVN für mein Repository raufgeschmissen habe.
Du solltest bei alle dem auf jeden Fall darauf achten, dass etwaige Logfiles nicht auf den im Gerät integrierten Flash speicher geschrieben werden sondern entweder auf eine der Harddisks oder ein temporäres Ram Filesystem. Flash speicher mags nämlich nicht unbedingt wenn oft auf Ihn geschrieben wird und gibt gegebenenfalls gerne mal den Geist auf.
Grüsse,
Egon
/References:
www.openwrt.org
/Edit:
Die Projektseite für das Linux auf deinem NAS ist unter: www.nslu2-linux.org zu finden. Dort gibts auch schon ne Menge an vorkompilierten Binaries.
Hallo,
ich bin der Meinung dass man für jeden Aufgabenzweck das geeignete Mittel (Sprache) nehmen sollte, dann kommt auch keine Frustration auf. Man muss nicht immer mit einer Sprache alles erschlagen was zu machen ist.
Was spricht beispielsweise dagegen, dass man für Spiele C++, für Windows Anwendungen C# und für hochportable Sachen Java nimmt? Viele Elemente der Sprache ähneln sich so sehr dass die Lernkurve nicht wesentlich dadurch ansteigt.
Grüsse,
Egon
Hallo,
ich möchte meinen 22" Widescreen TFT nunmehr nicht mehr missen. Früher gehörte ich zu jenen Leuten die sagten dass man sowas nicht braucht und dass das "gute" 4:3 absolut reicht. Seit ich in der Firma aber einen bekommen habe hat sich meine Einstellung vollkommen geändert.
Vor allem finde ich es für die Benutzung von IDE's absolut sinnvoll, da man trotz offener Leisten (Projekt, Properties, etc.) noch genügend Platz für den eigentlichen Code hat.
Grüsse,
Egon
Hallo,
an deiner Stelle würde ich ein neues Tool schreiben welches die gleiche Funktionalität enthält. Da es sich bei Web Services um ein standarisiertes Protokoll handelt, ist dies relativ einfach zu bewerkstelligen (Keyword SOAP)
Grüsse,
Egon
/edit: Beziehungsweise kannst du das Mono Equivalent nutzen, wenn Du neben der Binary auch den Sourcecode und die Lizenz von Ihrem Tool mitlieferst.
Original von Golo
Original von egrath
in den Bereichen wird von Novell schon massiv gearbeitet. LINQ und Workflow sind schon intern beinahe fertig, an Communication und Cardspace wird gerade gearbeitet - wurde zumindest am Mono Meeting 2006 bekannt gegeben.Hast Du da eine Quelle, wo näheres steht (außer den Slides)?
Hallo Golo,
auf der Mono Homepage gibt es einen Bereich für das ganze (Projekt Olive):
http://www.mono-project.com/Olive
Cardspace wurde übrigens wieder aus dem Projekt rausgeschmissen und wird vermutlich erst später (wenn überhaupt) implementiert.
Grüsse,
Egon
Hallo,
wenn Du bei Windows XP das auf "Standard" stellst, dann wird ein normaler Antialising Algorithmus verwendet. Allerdings werden dann jene Pixelgrössen als Anti-Aliasing Limit genommen, welche in der Font spezifiziert sind.
Einen Mechanismus um das gesamte System, unabhängig von der Fontgrösse mit normalen Antialising zu betreiben gibt es meines Wissens nach nicht.
Grüsse,
Egon
Hallo,
soweit ich weiss gibt es keine fertige Klasse die das erledigt, aber gerade das umrechnen von Hex nach Binär ist doch ein Kinderspiel:
Nimm nacheinander zuerst den höherwertigen und dann den niederwertigen Nibble des Bytes und dekodiere Ihn mittels nachfolgender Tabelle:
0 = 0000
1 = 0001
2 = 0010
3 = 0011
4 = 0100
5 = 0101
6 = 0110
7 = 0111
8 = 1000
9 = 1001
A = 1010
B = 1011
C = 1100
D = 1101
E = 1110
F = 1111
Beispiel: 0x3D
3 = 0011
D = 1101
also ist die Binärdarstellung 00111101
Grüsse,
Egon
/edit: Bevor ich wieder eine auf die Nuss kriege weil ich ein Fachwort nicht erklärt habe 😉 : Nibble ist die bezeichnung für jeweils 4 Bit.
Hallo LonelyPixel,
lt. Microsoft (MSDN Foren) gibt es keine möglichkeit das abzudrehen obwohl das einer der am meisten bemängelten Punkte während den Beta-Tests von WPF war.
Und ja, ich gehöre zu den Leuten die nach wenigen Minuten ClearType Augen- und Kopfschmerzen bekommen.
Grüsse,
Egon
/PS: Das ClearType von WPF hat nichts mit dem ClearType von Windows zu tun. Es wird ein eigener neuer Algorithmus und eine eigene Implementierung verwendet die von vielen Seiten Kritik eingefangen hat (da nicht die gleiche Qualität wie die Windows interne)
Hallo,
einen der grössten Nachteile von WPF (welcher auch meine negative Einstellung dazu erklärt) ist die Tatsache, dass es nicht möglich ist das ClearType-Antialising von Grafischen Komponenten abzuschalten - das alleine ist meines erachtens ein derzeitiges K.O. Kriterium für die ganze Sache.
Grüsse,
Egon
Hallo,
Es kommt immer darauf an, was an den entsprechenden Stellen mit den Rechner gemacht wird. Wir haben bei uns in der Firma (Amt) ungefähr 8000 Workstations wobei bis heute noch nicht alle von NT4 weggekommen sind - weil es in manchen Bereichen einfach nicht so dringend ist zu aktualisieren. Windows 2000 haben wir komplett ausgelassen und sind erst mit XP wieder auf die aktualisierungswelle aufgesprungen.
Ein "normaler Office" Rechner im Amt hat normalerweise eine Lebensdauer von 5 Jahren wenn er nicht vorher defekt wird und gegen einen aktuelleren ersetzt wird - oder aber aus zwingendem Grund ausgetauscht werden muss (Neues Softwareupdate welches unbedingt notwendig ist und aus HW-Gründen nicht auf dem alten Gerät betrieben werden kann)
Grüsse,
Egon
Hallo,
um schnelles Scrolling zu ermöglichen benutze ich Background Images und Blitte den Inhalt dann auf den Screen. Habe das als Technik Demo vor einiger Zeit dazu benutzt um Parallax Scrolling zu realisieren:
Grüsse,
Egon
Hallo,
ich kann nur aus eigener Erfahrung sprechen - und die bestätigt mir dass unseren Kunden die Funktionalität und die einfache Handhabung der Applikation wichtiger ist als die optische Aufpeppung mit grafischem Schnick-Schnack.
Für den Heim-User mag es zwar richtig sein dass sich der freut wenn er eine schön bunte Klicksi-Klicksi Oberfläche mit vielen Gimmicks hat, aber die meisten Anwender sind glaub ich immer noch die Business Kunden, denen es um rohe Funktionalität und Effizienz geht.
Darum glaube auch ich dass Windows Forms und die anderen 2D basierten GUI Techniken noch eine sehr sehr lange Lebensdauer haben werden und WPF nur für Anwendungen benutzt werden wird die wirkliche Eye-Candy benötigen.
Grüsse,
Egon
Hallo,
ich habe mir angewohnt, bei der Benutzung des ForEach-Statements welches einen Zähler benötigt, folgende Schreibweise zu benutzen:
using System;
public class Fort
{
public static void Main( string[] args )
{
String[] x = new String[] { "AAA", "BBB", "CCC" };
int cnt = 0;
foreach( string y in x ) {{ cnt ++; }
{
Console.Out.WriteLine( y + " " + cnt );
}}
}
}
Damit ist schon im Kopf der Schleife zu sehen, welche Variable innerhalb des Blocks hochgezählt wird. Nur der Schreibfaulheit wegen würde ich keine Änderungen der Syntax der Sprache einführen.
Grüsse,
Egon
Hallo,
am liebsten Medival-Rock und Irish-Folk beim programmieren - dabei meist über Online-Radio (www.radio-aena.de)
Grüsse,
Egon
Hallo,
dass Windows Passwörter per se unsicher sind, ist ein Gerücht. Es wird nur der Hash des Passworts in der SAM gespeichert, welche nur schwierig auszulesen ist (pwdump6). Erst wenn man sich diese Hashes besorgt hat, kann man mittels eines Brute-Force verfahrens (bsp. John the Ripper) versuchen das Passwort zu finden (indem einfach für alle möglichen Kombinationen der Hash errechnet und verglichen wird).
Wenn wie der Vorposter schon sagte einfache Passwörter verwendet werden, so ist es ein leichtes für ein solches Tool das Passwort zu finden, da zuerst Varianten von Passwörtern aus einem mitgelieferten Dictionary verwendet werden und erst anschliessend abstrusere Kombinationen.
Vor einiger Zeit habe ich in der Firma mal mittels der oben genannten Kombination versucht mein eigenes Passwort zu knacken (12 Stellen, diverse Sonderzeichen) - und nach mehreren Tagen aufgegeben weil es ein aussichtsloses unterfangen war.
Grüsse,
Egon
Hallo,
schönes Projekt, gefällt mir und lässt sich sicherlich mal verwenden wenn es wieder mal um Datenübertragung auf serieller Basis gehen soll.
Grüsse,
Egon
Hallo,
bevor man die Standard Shares löscht, wäre es meines erachtens nach sinnvoller einfach ordentliche Passwörter für alle Benutzer zu setzen.
Grüsse,
Egon
Hallo,
in meinem Projekt "LittleBrowser" (Link) hab ich das implementiert - bei bedarf einfach mal anschauen.
Grüsse,
Egon
... und wenn Du auf Interrupts und Hw-Ports zugreifen willst, bleibt dir sowieso nur mehr das DDK (Driver Development Kit) übrig.
Grüsse,
Egon
Hallo,
ist zwar schon einige Tage her, aber da es noch nicht hier drinnen steht:
Qyoto wurde in der Version 1.0 veröffentlicht. Dabei handelt es sich um ein komplettes Binding von QT4 als Managed Code. Derzeit leider nur für Mono verfügbar, wird aber bereits an einer Windows Variante gebastelt.
Link zum Projekt
Link zum Artikel des DotNetPro Magazines
Respekt von meiner Seite an die beiden Entwickler, ein derartig grosses Framework wie QT zu wrappen erfordert schon eine Menge geduld.
Grüsse,
Egon
Hallo,
der im vorherigen Post von mir genannte Link funktioniert bei mir tadellos. Probier mal mit "Speichern unter ...", eventuell hat dein Browser irgendwelche macken.
Grüsse,
Egon
Hallo,
ich kann dir nur die Style Conventions von IDesign wärmstens ans Herz legen, die haben sich echt was dabei gedacht (nicht das Microsoft das nicht auch getan hat mit Ihrer Konvention).
Grüsse,
Egon
Hallo,
auch wenn dies nicht so wäre (Novell-Microsoft Kooperation) glaube ich nicht dass Micrsoft wirklich etwas gegen Mono hat. Der Grund liegt meines erachtens darin, dass durch Mono selbst auch die Machtstellung von Microsoft gestärkt wird, da "deren" Framework nun auch auf anderen Platformen verfügbar ist und somit eine immer grössere Entwicklerschaar "deren" Technologie nutzt.
Vor etlicher Zeit habe ich mal was gehört (weiss aber leider nicht mehr wo), dass Full-Time Mono Entwickler sich ab und an mit den Burschen von Microsoft kurzschliessen um über dieses und jenes technische Detail zu diskutieren.
Grüsse,
Egon