vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

C# Ecke
Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Tortenesser
Datum: 19.01.15 10:20

Also angenommen hinter einem meiner Knöpfe in meinem Programm ist ein Programmtext der nicht funktioniert weil er einen Admin braucht. Wie mache ich es das der Knopf mit dem Admin funktioniert also der Anweisungstext hinter dem Knopf die Aufforderung in Windows für den Admin bringt die der Nutzer klicken tut und dann gehts. In diesem Falle soll der Rest des Programmes ohne Admin auskommen ein Manifest brauche ich also nicht. Wie führe ich eine einzelne Anweisung bzw. Funktion innerhalb eines Programmes z. B. einen Knopf mit einer Funktion als Admin aus? Sysinternals Taskmanager tut genau das deshalb interessiert mich wie es geht. Und dann noch eine andere Frage im selben Kontext aber: Wie stelle ich mit dem Programm fest das eine Funktion einen Admin innen drin hat und dies braucht bevor ich die Fehlermeldung darüber bekomme?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Manfred X
Datum: 19.01.15 10:33

Du solltest beim Entwickeln als "gewöhnlicher Benutzer" unter Windows angemeldet sein.
In dem Fall bekommst Du beim Testen sofort Rückmeldung, wenn Du Funktionen erstellst,
die eine Admin-Berechtigung erfordern.
Ob es tatsächlich sinnvoll ist, solche Funktionen in ein Programm einzubauen,
muß man wohl im Einzelfall entscheiden.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Tortenesser
Datum: 19.01.15 13:07

Manfred X schrieb:
Zitat:

Du solltest beim Entwickeln als "gewöhnlicher
Benutzer" unter Windows angemeldet sein.


Ja danke Manfred hab einen normalen Windows Benutzer soweit ich das nachgeschaut habe.
Ich nutze nur den Nutzer den Windows bei der Installation gemacht hat und nutze nur normale Funktionen also nichts wirklich weltbewegendes.
Ganz ohne solche Funktionen kommt man ja auch nicht aus. Manche bisher normalen XP Funktionen
wie das formatieren einer zweiten Festplatte die immer selbstverständlich waren brauchen jetzt einen Admin. Auch die BlockInput Funktion zum ausschalten der Tastatur braucht neuerdings einen Admin jetzt. Ist eigentlich Unsinn der ganze 'Windows 7 Unsinn' eben. Normale Benutzerfunktionen sollten nie einen Admin brauchen solange man nicht an Netzwerk, Virenscanner, Firewall und Registrierbank herummacht. Hatte die UAC schon abgestellt aber das bringt nicht viel. Muß mich damit eingewöhnen und meine Programme anpassen oder wieder mehr mit SendKeys machen. SendKeys klappt immer!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Manfred X
Datum: 19.01.15 13:14

Die Benutzerkontensteuerung ist ein wesentliches Sicherheitselement ab WinVista.

Wer heute Programme entwickelt ist gezwungen, sein Augenmerk auch auf die Integrität
der Daten und des Systems zu richten.

Was verstehst Du unter "normalen Benutzerfunktionen"?
Das Formatieren von Festplatten oder das Abschalten der Tastatur fällt meiner Ansicht
nach nicht in diese Kategorie.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Tortenesser
Datum: 19.01.15 14:35

Naja Manfred ich meinte Dinge wie einen Prozess im Taskmanager beenden das erfordert neulich auch solche Berechtigungen. Auch nur eine Dir Anweisung auf ein 'geschütztes' Verzeichnis nur zum lesen erfordert mittlerweile Adminrechte wie z. B. C:\Programme. Das ist doch Stuss. Lesen von Infos sollte das nicht erfordern. Naja wie dem auch sei ich sollte einen Weg finden ohne Manifest einige selektive solcher Funktionen separat auszuführen innerhalb einer normalen Anwendung mit dem aufgehen eines UAC Aufforderungsfenster. Es gibt zahlreiche Programme die das bereits tun und Knöpfe mit UAC Symbolen für einzelne Funktionen haben. Klickt der Nutzer dann erst kommt die Aufforderung zur Bestätigung der Aktion. Die Anwendung selbst läuft allerdings im normalen Nutzer ohne Manifest oder Admin. Und sowas bräuchte ich auch - Bestätigung des Nutzers für einzelne spezielle Funktionen aber die gesamte Anwendung läuft an sich trotzdem unter dem normalem Kontext. Und solch eine Funktion für das was ich bräuchte hab ich nirgends gefunden deshalb frage ich auch hier.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Manfred X
Datum: 19.01.15 14:48

Ein "normaler Benutzer" kann sich keine Admin-Rechte besorgen.
Das Lesen im Programm-Verzeichnis ist nicht erforderlich, wenn
alle Daten, die ein Programm zur Verfügung stellt, in den dafür
vorgesehenen Windows-Ordnern abgelegt werden, z.B.
string xpath = Environment.GetFolderPath( _
  Environment.SpecialFolder.CommonApplicationData);
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Tortenesser
Datum: 19.01.15 15:24

Sagt mir jetzt nicht viel. Meine Anwendung legt die Daten direkt unter C:\ ab oder in C:\Programme oder unter C:\Windows wie es immer üblich ist bei Windows Anwendungen. Und da bekam ich plötzlich Probleme das C Sharp eine Fehlermeldung bringt wenn ich unter C:\ oder C:\Windows schreiben will. Auch auf dem Desktop kann man nichts mehr ablegen. Normalerweise habe ich alle meine Ordner und Programme bequem auf dem Desktop. Nun muss ich schauen wie ich das mit C Sharp schaukle. VB 6 hat nie so ein Theater veranstaltet da war das usus. Werde jetzt mit Try...Catch rangehen um die Fehler abzuschalten. Vielleicht bringt mich das dann weiter

Beitrag wurde zuletzt am 19.01.15 um 15:26:53 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Manfred X
Datum: 19.01.15 16:18

Aus Sicherheitsgründen sind solche Zugriffe gesperrt.
Wie bereits erwähnt, bietet das Framework die für Programm-Daten
vorgesehenen Ordner-Pfade als Bestandteil des Environments an.
Damit ist sicher gestellt, daß unter allen Windows-Versionen
die Programme ihre Daten (versionsgerecht) finden können.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Tortenesser
Datum: 19.01.15 16:23

Das meine ich auch. Das Laufwerk C:\ ist versionsgerecht. Immer war und ist unter allen Windows die ich kenne C:\ die Adresse die immer stimmt oder eben C:\Windows oder C:\Programme. Man kann nichts falsch machen muss sich nicht durch lange Pfade quälen und muss keine neuen Ordner erstellen. VB und auch C Sharp können ja keine Ordner erstellen da wäre das auch unpraktisch. Das kann nur der Explorer und DOS. Aber gut dann sind wir uns ja einig. Wie speichere ich mit C Sharp direkt unter C:\ ?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Manfred X
Datum: 19.01.15 16:35

Wer hat Dir eigentlich diesen ganzen Blödsinn erzählt?
So erstellt man einen Unterordner namens MyFolder im
Programm-Daten-Verzeichnis für alle Nutzer:
string xpath = Environment.GetFolderPath( _
  Environment.SpecialFolder.CommonApplicationData);
string MyFolder = System.IO.Path.Combine(xpath, "MyFolder");
System.IO.Directory.CreateDirectory(MyFolder);
Direkt unter C:\ speichert man nichts!!!

Beitrag wurde zuletzt am 19.01.15 um 16:37:26 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Tortenesser
Datum: 19.01.15 16:46

Der Text lief soweit ohne Fehler danke Manfred. Nur sehe ich den Ordner nicht! Unter Windows ist kein neuer Ordner und unter C:\ auch nicht und auch nicht unter C:\Programme und nicht unter C:\Desktop. Wo ist der Ordner nun reingeflutscht? Ein Ordner den ich nicht sehe bringt ja auch nicht unbedingt viel. Ist es denn ein unsichtbarer Ordner also ich meine mit dem Versteckt-Attribut darin?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Manfred X
Datum: 19.01.15 16:58

Eigentlich mußt Du nicht wissen, wo sich dieser Ordner befindet -
Hauptsache Windows kennt sich aus !!!

Ich vermute, er ist auch auf Deinem System unter "C:\ProgramData" angelegt worden.
Setze in der letzten Code-Zeile per F9-Taste einen Breakpoint, dann zeigt Dir die
Maus die Zeichenfolge in der Variable "MyFolder".


Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Tortenesser
Datum: 19.01.15 17:27

Habe eine Suche gestartet und bin prompt fündig geworden. Ist ja ein ewiger Pfad unter Anwendungsdaten voll langer Pfad. Naja ist mir eigentlich wurscht wo die Daten sind wenn dort kein Vierus hinkommt und kein Häcker. Es funktioniert also speichere ich dann in den Ordner. Ist mir sogar lieber weil es erscheint mir sicherer. So einen Ort findet ein Häcker nicht so schnell. Wenn der unter C:\ reinschaut hat er gleich alles und sieht alles. Unter dem Pfad muss er lange suchen Danke für diesen Tipp, Manfred.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Text hinter einem Knopf in einer Anwendung anders ausführen 
Autor: Manfred X
Datum: 19.01.15 17:43

Dieser Ordner ist nur ein Beispiel.
Windows stellt ein ganzes System von Ordnern für spezielle Zwecke
zur Verfügung - userspezifisch, anwendungsspezifisch, datenart-spezifisch.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel