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.
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
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.
Dann wäre doch ein Quellcodeverwaltungssystem wie z. B. Subversion was für euch.
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
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
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("");
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.
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
Hast du einen Verweis auf die Assembly angelegt? Verweise -> Verweis hinzufügen...
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.
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.
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
Was hast du bisher versucht und was verstehst du am Beispiel in der MSDN :rtfm: nicht?
--edit: zu spät
Ich weiß zwar nicht ob es etwas schöner geht aber im Zweifelsfall tuts auch .ToString().Length
--edit: Zu spät
Oder starte den Rechner per BIOS-Einstellung zu einer fixen Uhrzeit.
Versuche für die Doku lieber GhostDoc. Das erstellt dir fast einen kompletten Dokurumpf, den man übernehmen kann oder einfach selber ausfüllt.
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.
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.
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.
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?
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.
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.
Hi
du kannst das auch direkt über C# realisieren.
--> http://dotnet-snippets.de/dns/wake-on-lan-SID608.aspx
Hi
in der Toolbox -> Alle Windows Forms -> TrackBar
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.
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.
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
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.
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
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?
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
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
Hi,
ja das geht. Siehe Screenshot
The Freesound Project http://freesound.iua.upf.edu/
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.
Ein Blick in die MSDN würde es dir verraten
public static Object CreateInstance (Type type)
Müsste sich um dieses Interface handeln http://msdn2.microsoft.com/en-us/library/ms691105.aspx
Weitere Informationen
http://msdn2.microsoft.com/en-us/library/bb318649.aspx -- Windows Search 3.X
http://msdn2.microsoft.com/en-us/library/bb318649.aspx -- Windows Desktop Search 2.x
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 😉
Hi und willkommen im Forum,
Hallo,
zwar keine direkte Antwort auf deine Frage aber evtl. kannst du die Lib von egrath verwenden --> ExpressionSolver.NET
Stichwort ServiceController
Funktioniert auf dem gleichen Weg mit Mail-Links und registrierten Dateitypen. Alles weitere steht in der MSDN
Und wenn du mehrere Projekte beim Debuggen starten willst -> Eigenschaften der Solution -> Startprojekt
_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.
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.
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.
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.
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