Laden...

Forenbeiträge von langalaxy Ingesamt 664 Beiträge

02.09.2007 - 13:20 Uhr

Hi

System.IO.File.Create(newFileNameQKB);

hat einen FileStream als Rückgabewert. Entweder du schließt diesen nach Erzeugen der Datei oder du verwendest ihn direkt.

01.09.2007 - 23:54 Uhr

Hi,

C# ist in der Tat nicht die richtige Sprache für dein Anliegen. Erklärungen dafür findest du unter anderem hier http://blogs.msdn.com/oldnewthing/archive/2006/12/18/1317290.aspx
Du wirst wahrscheinlich auf C++ ausweichen müssen. Bei Codeproject gibts jedoch auch dafür ein paar Artikel http://www.codeproject.com/shell/shellextguideindex.asp

31.08.2007 - 20:16 Uhr

Es kann helfen sich die Inspectors-Collection als klassenweite Variable zu merken und das NewInspector Event über diese Variable zu registrieren. Du musst dass Event dann auch nicht immer wieder neu registrieren.

31.08.2007 - 11:32 Uhr

Dann wäre doch ein Quellcodeverwaltungssystem wie z. B. Subversion was für euch.

30.08.2007 - 23:31 Uhr

Original von LonelyPixel
Wie man das ganze jetzt aber aus C# heraus steuert, weiß ich nicht auswendig. Vielleicht gibt's ja ein Task Scheduler API oder sowas.

Ich habe vor längerer Zeit ein paar Links gepostet Ordner automatisch leeren

30.08.2007 - 19:06 Uhr

Hi,

du kannst für das aktuelle NetworkInterface die IPInterfaceProperties über GetIPProperties() abrufen. Dieses enthält das Property UnicastAddresses, welches wiederum die gewünschte(n) IP-Adresse(n) beherbergt.

            UnicastIPAddressInformationCollection uniCast = adapterProperties.UnicastAddresses;
            if ( uniCast != null )
            {
                foreach ( UnicastIPAddressInformation uni in uniCast )
                {
                    Console.WriteLine("  Unicast Address ......................... : {0}", uni.Address);
                }
            }

Genauere Infos findest du in der MSDN.

btw. bitte verwende die CSHARP Code-Tags

30.08.2007 - 18:13 Uhr

Jetzt hab ich verstanden auf was du raus willst 😉 Wenn du "(Standard)" als Wert angibst, bekommst du nichts zurückgeliefert, obwohl der Wert existiert. Du must komischerweise einen leeren String übergeben, damit du an die Daten des "(Standard)"-Wertes kommst.

            string rk1 = @"htmlfile\shell\Print\command\";

RegistryKey rKey = Registry.ClassesRoot.OpenSubKey(rk1, true);
string data = (string)rKey.GetValue("");
30.08.2007 - 18:00 Uhr

Original von jaensen
Das einzig blöde an den meisten Keyloggern dürfte bloß sein das sie von Virenscannern erkannt werden, aber wenn du das ganze völlig legal machst dann sollte es ja auch kein Problem sein eine Ausnahme für diese Programme zu definieren.

Keylogger ansich sind aufgrund des Hacker § (202c StGb) höchstwahrscheinlich nicht (mehr) legal.

30.08.2007 - 17:41 Uhr

Und egal ob das jetzt in eine Textbox oder in eine Datei geschrieben wird, siehts immer noch nach Keylogger aus. Siehe auch frage zu tastenabfangen

30.08.2007 - 17:20 Uhr

Hast du einen Verweis auf die Assembly angelegt? Verweise -> Verweis hinzufügen...

30.08.2007 - 17:13 Uhr

Original von Getränke Hoffmann
Diese erfordern immer den Namen eines Keys. Nun ist der Name aber leider vom System Vergeben und "(Standard)"- wie komme ich da nur dran?

Den Namen hast du doch bereits, oder habe ich dich falsch verstanden? Wo genau liegt dein Problem? Wenn du bereits in dem Zweig bist, der deinen Schlüssel enthält, dann kannst du diesen doch einfach auslesen. Im Zweifelsfall gibts in der MSDN ein gutes Beispiel dazu.

30.08.2007 - 16:37 Uhr

Wenn du Zugriffe von außen erlauben willst/benötigst, musst du die benötigten Ports öffnen. Ob das ganze Gefährlich ist hängt von den Anwendungen ab die auf diesen Ports lauschen.
UDP-Pakete kannst du auf deinem Router/Firewall sperren, vorausgesetzt die T-Com Boxen können das überhaupt.

30.08.2007 - 15:52 Uhr

Nein.
Wenn du schon eine gefüllte DataTable hast, was willst du dann noch mit einer SqlDataSource? Du kannst die Daten direkt aus dem DataTable auslesen. Siehe 🛈 Kap. 26.6

30.08.2007 - 14:27 Uhr

Was hast du bisher versucht und was verstehst du am Beispiel in der MSDN :rtfm: nicht?

--edit: zu spät

30.08.2007 - 09:18 Uhr

Ich weiß zwar nicht ob es etwas schöner geht aber im Zweifelsfall tuts auch .ToString().Length

--edit: Zu spät

30.08.2007 - 08:48 Uhr

Oder starte den Rechner per BIOS-Einstellung zu einer fixen Uhrzeit.

29.08.2007 - 16:50 Uhr

Es sind zwar Standardschaltflächen aber was darüber passiert ist von Anwendung zu Anwendung verschieden. Du musst also selber ran und dir eine Logik dahinterklemmen.

29.08.2007 - 14:57 Uhr

Versuche für die Doku lieber GhostDoc. Das erstellt dir fast einen kompletten Dokurumpf, den man übernehmen kann oder einfach selber ausfüllt.

29.08.2007 - 14:06 Uhr

Original von Sp666dy
ich habe hier im Forum geguckt und habe einige sachen gefunden nur nicht genau das was ich will,

Das wirst du auch nie exakt so finden wie du es gerne hättest.

Hoffe ihr habt es verstanden, wenn nicht fragt einfach nach und danke jetzt schonmal für antworten!!!

Es kann nicht unsere Aufgabe sein herauszufinden was du eigentlich willst. Stelle deine Fragen so dass man sie versteht 😉

btw. hört sich dein Anliegen für mich nach einem Keylogger an und im Sinne des Forums wirst du dafür keine Hilfe bekommen. Wenn ich falsch liege, kannst du das gerne nochmal genauer erklären.

29.08.2007 - 12:47 Uhr

Original von ceroun
kann mir niemand helfen ?

Ohne weiter Informationen kann man nicht viel dazu sagen 😉
Bau in deinen Dienst etwas Logging ein oder Debugge ihn und schau dir an ob in OnCustomCommand() und den daraus aufgerufenen Methoden alles richtig läuft.

29.08.2007 - 10:58 Uhr

Original von starchild
Da meine Anwendung aber zukunftssicher sein soll (ein Umstieg auf 3.0 sobald Erfahrungen damit vorliegen ist geplant) bin ich nun auf der Suche nach einer anderen Möglichkeit.

Wenn du sowieso auf 3.0 umsteigen willst, kannst du das ganze auch über WCF realisieren. Bietet mehr Flexibilität für die Zukunft.

28.08.2007 - 21:52 Uhr

Original von bim12
Ich habe über ein form-show() das Fenster bereits dargestellt, aber es bleibt fast leer und statisch.

Was sich danach anhört, dass dein Backgroundworker nicht richtig integriert ist (im Zweifelsfall [FAQ] Warum blockiert mein GUI?)
Wieso vergisst du nicht die Consolenanwendung und rufst die Logik direkt aus der WinForms-Anwendung innerhalb des Backgroundworkers auf?

28.08.2007 - 17:26 Uhr

Eine Methode um alle freie Laufwerksbuchstaben auszulesen könnte so aussehen

                   
        private static List<string> GetFreeDriveLetters()
        {
            DriveInfo[] usedDrives = System.IO.DriveInfo.GetDrives();
            Dictionary<string, string> usedDriveLetters = new Dictionary<string, string>(usedDrives.Length);

            string[] driveLetters = new string[26] { "A:", "B:", "C:", "D:", "E:", 
                                                     "F:", "G:", "H:", "I:", "J:", 
                                                     "K:", "L:", "M:", "N:", "O:", 
                                                     "P:", "Q:", "R:", "S:", "T:", 
                                                     "U:", "V:", "W:", "X:", "Y:", "Z:", };
            
            int freeDriveCount = driveLetters.Length - usedDrives.Length;

            List<string> freeDriveLetters = new List<string>(freeDriveCount);

            foreach ( DriveInfo usedDrive in usedDrives )
            {
                string driveLetter = usedDrive.Name.Replace(Path.DirectorySeparatorChar.ToString(),"");
                usedDriveLetters.Add(driveLetter, string.Empty);
            }

            foreach ( string driveLetter in driveLetters )
            {
                if ( !usedDriveLetters.ContainsKey(driveLetter) )
                {
                    freeDriveLetters.Add(driveLetter);
                }
            }

            return freeDriveLetters;
        }

Wobei man das ganze sicher noch etwas schöner machen kann. Habs grad nur runtergeschrieben.

28.08.2007 - 16:56 Uhr

Hi,

spontan würde ich sagen: hole dir die Liste aller logischen Laufwerke über

System.IO.DriveInfo.GetDrives();

und such dir dann einen Buchstaben aus, der nicht in der Liste enthalten ist.

28.08.2007 - 13:49 Uhr

Hi

in der Toolbox -> Alle Windows Forms -> TrackBar

28.08.2007 - 12:45 Uhr

Hi

die Datei kann in dem Pfad nicht existieren, da er falsch ist. Starte mal den Debugger und schau dir FileName nochmal genau an. Du setzt ihn nämlich auf C:\WINDOWS\system32\system32\reg.exe und nicht auf C:\WINDOWS\system32\reg.exe.

28.08.2007 - 12:16 Uhr

Hi

du musst die Länge die du rausschneidest eben dynamisch bestimmen. Bei 0 Zeichen kannst du nichts rausschneiden. Zwischen 1-6 Zeichen eben von 0 bis zur aktuellen Anzahl. Ansonsten von 0 bis 7.

28.08.2007 - 12:10 Uhr

In einem Unternehmen ist auch nicht immer eine Softwareverteilung zu finden. Zum Anderen gibts für die Rechtegeschichten die Möglichkeit diese über Gruppenrichtlinien zentral anzupassen. Die Anwendung muss auch nicht zwangsläufig installiert werden, wenn die Anforderungen dies nicht vorsehen.

@katarch

Du kannst Programmteile OnDemand nachladen.
--> https://www.microsoft.com/germany/MSDN/webcasts/library.aspx?id=118768105
--> http://blogcasts.de/jensha/TechTalk/ClickOnce/Deployment%20mit%20ClickOnce.ppt

28.08.2007 - 11:45 Uhr

Hi

ich würde wie JuyJuka darauf achten, dass du an die Logik verschiedene Oberflächen anflanschen könntest. Bei der Art der Anwendung würde ich auf eine WinForms-Anwendung setzen. Für die Softwareverteilung gäbe es mit ClickOnce ebenfalls eine passende Lösung. So wäre die Anwendung auch von verschiedenen Rechnern nutzbar, ohne den Komfort einer WinForms-Anwendung zu verlieren.

27.08.2007 - 17:11 Uhr

Wie kann ich nun den Inhalt der Textboxen prüfen ?

Lesen hilft weiter 😉

In aller Kürze: TextBox.Text, Int32.TryParse, Int32.ToString

Schau dir mal den MSDN Artikel zu Int32.TryParse an

26.08.2007 - 19:47 Uhr

Original von FrancisZ
Der Typ- oder Namespacename Word ist im Namespace Microsoft.Office.Tools nicht vorhanden. (Fehlt ein Assemblyverweis?)

Diese Meldung besagt, dass dir ein Verweis auf eine Assembly fehlt. Wie hast du das Projekt erstellt? Über die VSTO-Vorlagen oder von Hand? Sind die im Screenshot gezeigten Referenzen vorhanden?

26.08.2007 - 00:43 Uhr

Hi,

FormClosing ist ein sogenanntes Ereignis (Event). Damit du benachrichtigt wirst wenn dieses eintritt, musst du dich für dieses Event registrieren. Der registrierte Eventhandler wird beim Auslösen des Events aufgerufen.
Da dies zu den Grundlagen gehört solltest du dir diese am Besten selbst aneignen: 🛈 z.B. Kap. 5.3 und 15.4

25.08.2007 - 21:02 Uhr

Hi

wenn du das Projekt als VSTO-Projekt erzeugt hast, dann wird die CAS-Policy auf dem Entwicklungsrechner automatisch angepasst. Bei einer Verteilung der Anwendung musst du dies auf den Zielrechnern selbst vornehmen.

Siehe Outlook 2007 - Setup

17.08.2007 - 11:48 Uhr

Hi,

ja das geht. Siehe Screenshot

16.08.2007 - 13:55 Uhr

Was mache ich falsch?

Du liest keine Doku :rtfm:

In der würde stehen, dass

 Assembly.CreateQualifiedName(name, "PersonObj");

einen string zurückgibt, denn du verwenden musst um dein Objekt zu erzeugen.

16.08.2007 - 13:16 Uhr

Ein Blick in die MSDN würde es dir verraten

public static Object CreateInstance (Type type)
16.08.2007 - 11:33 Uhr

Hi

ob Linux auf einem NAS läuft oder auf einem PC ist in deinem Fall egal. Solange dir von der Hardware (RAM, Flash, etc.) die Möglichkeit gegeben wird zusätzliche Pakete zu installieren sollte es keine Probleme geben. Du solltest die Daten jedoch auf der HDD des NAS anlegen und nicht im Flash (wenn es überhaupt einen besitzt)

btw. so "dumm" ist die Idee auch wieder nicht 😉

15.08.2007 - 14:12 Uhr

Hallo,

zwar keine direkte Antwort auf deine Frage aber evtl. kannst du die Lib von egrath verwenden --> ExpressionSolver.NET

15.08.2007 - 14:08 Uhr

Stichwort ServiceController

15.08.2007 - 14:05 Uhr

Funktioniert auf dem gleichen Weg mit Mail-Links und registrierten Dateitypen. Alles weitere steht in der MSDN

15.08.2007 - 11:53 Uhr

Und wenn du mehrere Projekte beim Debuggen starten willst -> Eigenschaften der Solution -> Startprojekt

15.08.2007 - 11:50 Uhr

_Original von Toronto_Allerdings ist die Lösung etwas unschön, weil du halt immer den InternetExplorer und nicht den Standard-Browser auswählst...

Ohne Angabe einer ausführbaren Datei wird automatisch der Defaultbrowser gestartet.
D.h. Process.Start("http://www.foo.bar"); öffnet http://www.foo.bar im Standardbrowser.

@Leon122

Wenn du Hilfe erwartest, dann poste nicht immer nur den ganzen Code, sondern nur den Teil, der dein Problem beschreibt [[Hinweis] Wie poste ich richtig? Punkt 5]. Ansonsten liest das niemand durch 😉
Du kannst z.B. eine Klasse für die RSS-Einträge definieren, die den Titel und den Link erhält.

15.08.2007 - 09:29 Uhr

Hi

--> http://www.microsoft.com/germany/msdn/nettv/folge1.mspx zwar schon etwas älter, aber immer noch gut zu Verstehen.
Ansonsten würde sich die Einarbeitung in WCF sicherlich lohnen. WCF bietet dir sehr viele Möglichkeiten und du bleibst flexibel für spätere Veränderungen.

15.08.2007 - 08:58 Uhr

Ich hatte gerade das gleiche Problem --> Eventhandler für GridView.RowDataBound-Ereignis und darin auf die Cells-Eigenschaft der Argumente zugreifen um die entsprechende Spalte auszublenden.

14.08.2007 - 23:08 Uhr

Hi,

wenn auf dem NAS Linux läuft (was normalerweise der Fall ist) ist die Wahrscheinlichkeit hoch, das du zumindest den SVN Daemon darauf betreiben kannst. Musst dich mal umschauen - meistens gibts rund um solch eine freie Firmware fertige Programmpakete. Je nach Distribution die darauf läuft kannst du dir das dann über Pakete installieren oder musst selbst den Compiler anwerfen.

14.08.2007 - 18:46 Uhr

Ich persönlich kann mich nicht wirklich für die Widescreendisplays erwärmen. Wenn ich mehr Platz brauche dann nehm ich mir lieber noch einen Bildschirm dazu. Ist angenehmer zu arbeiten, da man einzelne Fenster auf dem jeweiligen Bildschirm maximieren kann. Ich hasse es die Fenster ständig anpassen zu müssen.

btw --> http://www.codinghorror.com/blog/archives/000928.html