Löschen würde ich Ihn auch nicht. Mit "Tweak UI" von Microsoft oder anderen Werkzeugen, kannst du dann einen Benutzer definieren, der automatisch am System angemeldet wird.
Original von Golo Haas
Ich bin vom 20. bis 23. Juli in Wiesbaden, wer von denen, die dort aus der Nähe sind, hätte am Wochenende (22.7.) Zeit und Lust, sich einfach mal auf eine Cola zu treffen?
Gerne, wobei ich davon ausgehe, das ich auch ein anderes Getränk wählen kann
Original von norman_timo
...
zurzeit habe ich es in der Tat als Windows Anwendung, aber ohne ein Fenster realisiert, ich habe gedacht, da gäbe es "bessere" Möglichkeiten.
...
Nur aus Neugier. Was stört dich and der Tatsache das Programm als Windows-Anwendung zu erstellen?
Wie schon herbivore geschrieben hat, stellt der Eintrag "Besitzer" das Benutzerkonto dar, mit welchem die Datei auf dem NTFS Volume erstellt worden ist. Reicht diese Information nicht aus, so kann die erweiterte Überwachung von Dateien und Ordnern von Windows Server/XP/2000 hinzugezogen werden.
Unter den Stichworten "Sicherheitseinstellungen Überwachung" findest du weitere Infos im "Hilfe- und Supportcenter" von Windows XP.
Überwachung kann damit mit ein paar Mausclicks realisiert werden, wobei ich dich auch nicht vom programmieren abhalten möchte ;-)
Der Aufwand eigene Druck- bzw. Kommunikationsroutinen zu entwerfen, steht nach meiner Meinung in keinem Verhältnis zum Geschwindigkeitsvorteil. Der Flaschenhals beim Drucken ist in der Regel immer noch der Drucker selbst. Was Vorteile bringen kann, ist den Drucker im Text- statt im Graphikmodus anzusteuern.
Sollte die Verzögerung, welche die Spoolfunktion des Betriebssystems verursachen wirklich stören (wobei aus meiner Erfahrung diese ziemlich gering ist), so kann diese in der Druckerkonfiguration von Windows deaktiviert werden.
Ich frage nur aus Gewohnheit: Wurde der PC nach der deinstallation neu gestartet?
Diverse Programmdateien können erst bei einem Neustart gelöscht werden, da diese noch von anderen Komponenten wie z.B. Grafiktreiber verwendet werden.
Gruß
HoGi
(Edit: PS angehängt)
PS: Auch kann es zu den Komponenten gehören, die man einmal installiert nicht mehr los bekommt, wobei mich die "Dll's" im GAC etwas stutzig machen. Diese sollten sich auf jeden Fall ohne Probleme entfernen lassen... Sehr Seltsam?!
Hast du das "Direct X SDK (December 2005)" noch einmal installiert?
Ein Test um festzustellen, ob die von Dir genannten Dateien zu dem Paket gehören ist:
1. Die 10 + n Dateien verschieben
2. Direct X SDK (December 2005) installieren
3. Prüfen, ob die verschobenen Dateien neu installiert worden sind?
4. Direct X SDK (December 2005) deinstallieren
6. Prüfen ob Dateien nun verschwunden sind
Versuch mach in diesen Fällen "klug". Wenn die Dateien nicht bei Punkt 3 auftauchen, gehören diese zu einer anderen Software z.B. Grafikkartentreiber?
SDK wieder installieren und noch einmal deinstallieren. Somit ist gewährleistet das alle Komponenten erwischt werden. Weiterhin ist der "manuelle" Aufwand nicht zu unterschätzen.
...
System.Xml.XmlDocument xmlDoc = new System.Xml.XmlDocument();
xmlDoc.Load(stream);
System.Xml.XmlNodeList items = xmlDoc.SelectNodes("/ASX/Entry/Ref");
for (int i = 0; i < items.Count; i++) {
// Kann dann auf die einzelnen Nodes zugegriffen werden
...
}
...
Habe ich jetzt einfach so eingetippt. Ist nicht getestet.
Ich hatte in den vergangenen ~3 Wochen die gleichen Probleme, wobei ich trotz der Fehlermeldung danach die Webcasts (ohne weitere Anmeldung) herunterladen konnte?!
Probleme sind dann aufgetaucht, wenn die Anmeldung über die Downloadseite ausgelöst wurde. Hatte ich mich vorher über andere Seiten angemeldet sind keine Fehlermeldungen aufgetaucht.
Nicht die kompilierte MyControlLibrary.dll hinzufügen, sondern die zu dem MyControlLibrary.dll Projekt gehörenden Quellcodedateien (*.cs). Diese werden, wie schon gesagt über den Menüpunkt "Projekt->Vorhandenes Element hinzufügen..." eingebunden.
Ob in diesem Zusammenhang der Desinger "herumzickt" kann ich nicht sagen, aber einmal alles Speichern und neu übersetzen sollte ihn wieder zur Vernunft bringen ;-).
Einfach die Dll aus dem Projekt entfernen und die Sourcedateien deiner MyControlLibrary.dll direkt im Projekt referenzieren (Hinzufügen->Vorhandenes Element).
Weiterhin mit einem Tool von Microsoft mit dem Namen ILMerge . Damit ist es möglich mehrere Assemblys in eine zu verpacken, wobei ich die erste Variante bevorzugen würde.
Einfach im Dialog "Vorhandenes Element hinzufügen" auf den Pfeil des "Hinzufügen" Buttons klicken und Visual Studio gibt das Geheimnis "als Verknüpfung hinzufügen" preis ...
Wenn es der Gesundheitszustand zulässt komme gerne und definitiv.
Ich freue mich schon darauf, die Gesichter hinter den Beiträgen mal "Live"
kennenzulernen.
Wiesbaden kommt für mich dabei sehr gelegen, ich kann sozusagen dahin spucken ;-)
Der folgende Code implementiert zwar nicht ListViewItems sondern ColumnHeaders,
aber die Problematik scheint mir ähnlich gelagert.
Die Knackpunkte bei der Sache waren das "überblenden" der Column-Eigenschaft,
sowie des Indexers in der LVColumnCollection-Klasse mit dem "new-Modifizierer".
namespace TestControl
{
[DefaultProperty("Columns")]
public class LV : ListView
{
public LV()
{
mColumns = new LVColumnCollection(this);
this.View = View.Details;
}
private LVColumnCollection mColumns;
[Category("Verhalten")]
[EditorAttribute(typeof(System.ComponentModel.Design.CollectionEditor), typeof(UITypeEditor))]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public new LVColumnCollection Columns
{
get { return mColumns; }
}
}
public class LVColumnCollection : System.Windows.Forms.ListView.ColumnHeaderCollection
{
public LVColumnCollection(LV owner) : base(owner)
{
mColumns = new ArrayList();
mOwner = owner;
}
private LV mOwner;
private ArrayList mColumns;
public new LVColumnHeader this[int index]
{
get { return (LVColumnHeader) this.mColumns[index]; }
set { this.mColumns[index] = value; }
}
}
public class LVColumnHeader : ColumnHeader
{
public LVColumnHeader()
{
DisplayIndex += 1;
mFormat = "{0}";
}
private string mFormat;
[DefaultValue("{0}")]
public string Format
{
get { return mFormat; }
set { mFormat = value; }
}
}
}
Soweit mir bekannt ist nicht. Das gleiche kannst du aber mit den die Methoden Parse
bzw. TryParse (in .NET 2.0) erreichen, die in den Standarddatentypen implementiert
sind.