Hey!
Ich programmiere zur Zeit einen LogOn Screen Changer, also eine Software um den Background beim "Willkommen"sscreen zu ändern.
Also im Allgemeinen muss dafür als erstes ein Registryeintrag geändert/erstellt werden, und dann ein JPG < 256 KB in ein bestimmtes Verzeichnis kopiert werden.
Ich habe jetzt ne Win-Form erstellt, mit einer Textbox names "Pathbox" für den Pfad, einen Button "ButtonBrowse" für einen OpenFileDialog, eine PictureBox "Picture" als Anzeige und einen Button "Change" zum Starten.
Gedacht war jetzt, dass man nach einer Bilddatei browst, die in ein JPG umgewandelt wird und zur Not auch verkleinert um <256 KB zu werden.
Problem Nr. 1: Nach dem Aussuchen des Bildes wird in der PictureBox das Bild nicht auf die Größe angepasst, obwohl die Eigenschaft
Picture.BackgroundImageLayout = ImageLayout.Stretch sowohl im Code als auch in der Form eingestellt wurde.
Problem Nr. 2: Wenn ich den Registryeinträg erstellen will, fehlen mir die Zugriffsrechte, obwohl ich als Admin angemeldet bin.
Problem Nr. 3: Ich würde gerne als Startverzeichnis nicht "C:\Users\" & username & "\Pictures\" nehmen, sondern die Bibliothek Bilder, was müsste ich dafür eingeben?
Code:
Ich hoffe ihr könnt mir helfen, DANKE !
Ich programmiere zur Zeit einen LogOn Screen Changer, also eine Software um den Background beim "Willkommen"sscreen zu ändern.
Also im Allgemeinen muss dafür als erstes ein Registryeintrag geändert/erstellt werden, und dann ein JPG < 256 KB in ein bestimmtes Verzeichnis kopiert werden.
Ich habe jetzt ne Win-Form erstellt, mit einer Textbox names "Pathbox" für den Pfad, einen Button "ButtonBrowse" für einen OpenFileDialog, eine PictureBox "Picture" als Anzeige und einen Button "Change" zum Starten.
Gedacht war jetzt, dass man nach einer Bilddatei browst, die in ein JPG umgewandelt wird und zur Not auch verkleinert um <256 KB zu werden.
Problem Nr. 1: Nach dem Aussuchen des Bildes wird in der PictureBox das Bild nicht auf die Größe angepasst, obwohl die Eigenschaft
Picture.BackgroundImageLayout = ImageLayout.Stretch sowohl im Code als auch in der Form eingestellt wurde.
Problem Nr. 2: Wenn ich den Registryeinträg erstellen will, fehlen mir die Zugriffsrechte, obwohl ich als Admin angemeldet bin.
Problem Nr. 3: Ich würde gerne als Startverzeichnis nicht "C:\Users\" & username & "\Pictures\" nehmen, sondern die Bibliothek Bilder, was müsste ich dafür eingeben?
Code:
VB.NET-Quellcode
- Public Class Form1
- Public username As String = Environment.UserName 'Username
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- PathBox.Text = "C:\Users\" & username & "\Pictures\"
- End Sub
- Private Sub ButtonBrowse_Click(sender As Object, e As EventArgs) Handles ButtonBrowse.Click
- Dim FOInterface As New OpenFileDialog() 'Interface for Opening Files
- Try
- With FOInterface
- .InitialDirectory = "Bibliotheken\Bilder" '"C:\Users\" & username & "\Pictures\" 'Start Directory"
- .Filter = _
- "Alle Bilddateien|*.jpg;*.jpeg;*.jpe;*.bmp;*.gif;*.png;*.tif;*.tiff|" & _
- "Alle Dateien (*.*)|*.*"
- .ShowDialog() 'Refresh()
- End With
- Catch ex As Exception
- End Try
- PathBox.Text = FOInterface.FileName
- If FOInterface.FileName <> "" Then
- Picture.BackgroundImageLayout = ImageLayout.Stretch
- Picture.Image = New Bitmap(FOInterface.FileName)
- End If
- End Sub
- Private Sub Change_Click(sender As Object, e As EventArgs) Handles Change.Click
- Dim path As String = "SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background"
- Try
- My.Computer.Registry.LocalMachine.OpenSubKey(path, True).CreateSubKey(path).SetValue("OEMBackground", "0", Microsoft.Win32.RegistryValueKind.DWord)
- Catch ex As Exception
- MsgBox(ex.Message & vbCrLf & "Administratorrechte benötigt.")
- End Try
- End Sub
Ich hoffe ihr könnt mir helfen, DANKE !
»There's no need to "teach" atheism. It's the natural result of education without indoctrination.« — Ricky Gervais