Gateway_man Geschrieben 5. März 2009 Geschrieben 5. März 2009 hi leute, besitzte vista 64 bit version und habe mir ein kleines Programm geschrieben das meine Programme verwalten soll. Es is zwingend notwendig das diese anwendung auf den ordner Program Files(x84) hat. Jedoch kommt die meldung das keine rechte vorhanden sind. was ich nicht verstehe ich bin als admin eingetragen mit vollzugriff. Muss ich da was am quellcode beachten unter vista? lg simon PS: geschrieben in VB.NET Zitieren
Gateway_man Geschrieben 5. März 2009 Autor Geschrieben 5. März 2009 hier die exaption boa ich raffs nicht ich habe doch vollzugriff auf die ganze partition C. -.-' Zitieren
Guybrush Threepwood Geschrieben 5. März 2009 Geschrieben 5. März 2009 Durch die Benutzerkontrollsteuerung in Vista läuft jedes Programm mit eingeschränkten Rechten selbst wenn es von einem Benutzer mit mehr Rechten gestartet wird. Daher auch bei vielen Aktionen die Frage das Adminrechte benötigt werden und ob du fortfahren willst. Damit dein Programm das auch fragt brauchst du glaub ich ein entsprechendes Manifest, aber hab ich noch nicht selber gemacht... Zitieren
Gateway_man Geschrieben 5. März 2009 Autor Geschrieben 5. März 2009 aber die benutzerkontrollsteuerung hab ich ausgeschalten. Oha meinte natürlich Benutzerkontensteuerung. kann man den die benutzerkontrollsteuerung auch abschalten? Zitieren
LordHexa Geschrieben 5. März 2009 Geschrieben 5. März 2009 N'Abend, spontan hab ich dieses Tutorial gefunden. Ist zwar auf englisch und für C#, sollte dennoch kein Problem sein dies auf VB zu portieren Windows Vista - Demand UAC elevation for an application by adding a manifest using mt.exe - B# .NET Blog Zitieren
Gateway_man Geschrieben 6. März 2009 Autor Geschrieben 6. März 2009 habe dank aber kann kein c# aber werds mir mal genauer anschaun wird schon nich so kompliziert sein. nun hab ich noch eine 2te frage: ich habe eine prozedur geschrieben die einen höheren Zeitaufwand zum abarbeiten benötigt und wollte demnach ne progressbar hinzufügen. nun hab ich das problem das sich die progressbar während der prozedur "aufhängt". wie könnte ich das beheben? Muss ich dazu Threads oder geht das auch ohne? lg simon Zitieren
LordHexa Geschrieben 6. März 2009 Geschrieben 6. März 2009 Also meiner Meinung nach eigenen sich für eine Progressbar am besten ein BackgroundWorker und/oder ein Timer. Vielleicht hilft dir ja das oder das oder auch dies Greetz und thank god it's friday! Zitieren
Gateway_man Geschrieben 6. März 2009 Autor Geschrieben 6. März 2009 ich habs dieses ja unter verwendung eines timers genommen. ich definiere mal mein problem genauer. der oben schon angesprochene prozess is recht zeitaufwending und das ergebnis ist variabel. Deswegen muste ich mir was für die Progressbar einfallen lassen da wie gesagt das ergebnis variabel ist. dann hab ich die progressbar konfiguriert und in dem timer aktiviert. Dann habe ich vor meinem Prozess, welcher sich in einem button event befindet, timer1.Enabled = True und nach dem prozess Timer1.Enable = false . die steps habe ich im timer festgelegt, sowie die intervalle des timers (1000ms). so nun debugge ich, drücke an den button es läuft kurz der balken, dann hängt er solange bis der prozess abgeschlossen ist und wird beendet. :-? Zitieren
LordHexa Geschrieben 6. März 2009 Geschrieben 6. März 2009 Klingt logisch, ich denke das sollte Abhilfe schaffen! Greetz Zitieren
Gateway_man Geschrieben 6. März 2009 Autor Geschrieben 6. März 2009 sry kenn mich mit threads noch nicht so gut aus :-( Das wäre dann mal der teil um den es geht. Dim returnValue As String = "" Try For Each foundFile As String In My.Computer.FileSystem.GetFiles("Pfad", FileIO.SearchOption.SearchAllSubDirectories, "*exe") Form1.ComboBox1.Items.Add(foundFile) ProgressBar1.Update() returnValue &= foundFile & Environment.NewLine Timer1.Enabled = True Next Catch ex As Exception MessageBox.Show("Exception thrown: " & ex.Message) Return End Try Form1.Show() End Sub Private Sub ProgressBar1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ProgressBar1.Click End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick Timer1.Interval = 200 Dim anz As Integer anz = Form1.ComboBox1.Items.Count ProgressBar1.Minimum = 0 ProgressBar1.Maximum = anz + 1 ProgressBar1.Step = 1 ProgressBar1.value = anz ProgressBar1.Update() ich bin hier irgendwo am verzweifeln. er macht es mit der progressbar schon allerdings von 0 auf maximum -.-' und wie gesagt mit threads kenn ich mich noch nicht so aus als das ich das mal eben schnell machen könnte. evtl fällt euch ja noch ne lösung ein. lg simon Zitieren
LordHexa Geschrieben 6. März 2009 Geschrieben 6. März 2009 Das dein Progressbar von 0 auf Maximal springt ist klar: ProgressBar1.value = anz Das setzt du bei jedem Tick-Event, somit kann das nicht klappen. Wie es für mich aussieht, solltest du dich mit der Materie Timer etc. eingehender beschäftigen. "Mal eben so" programmiert man sowieso nicht, da kommt nur Mist heraus Ist doch ne schöne Aufgabe für's Wochenende und Montag zeigst du dann die Lösung her :cool: Greetz Zitieren
Gateway_man Geschrieben 6. März 2009 Autor Geschrieben 6. März 2009 so wie ich das sehe, erhöht sich bei jedem schleifendurchgang der inhalt meiner combobox um 1 found file, nun sage ich das die anz gleich der gefundenen files ist. die anz lasse ich durch das ausführen des timer in der schleife stetig aktualisieren und gehe von dem wert anz dann in der progress bar aus. ja sry das mit value ist müll ist klar warum er mir das dann direkt aufs max setzt danke is mir gar nicht aufgefallen hab ich wieder geschrieben ohne genau nachzudenken :beagolisc Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.