čtení z win registru - zobrazeni hodnoty REG_SZ do txtboxu – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

čtení z win registru - zobrazeni hodnoty REG_SZ do txtboxu – .NET – Fórum – Programujte.comčtení z win registru - zobrazeni hodnoty REG_SZ do txtboxu – .NET – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
davhoos0
Newbie
24. 10. 2022   #1
-
0
-

Ahojte, 

Potřebuji poradit s výstupem z windows registeru klíče typu REG_SZ do textboxu

Konzolová aplikace mi funguje bez problémů:

using Microsoft.Win32;

using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"))
{
    if (key != null)
    {
        Object o = key.GetValue("BackupProductKeyDefault");
        Console.WriteLine(o.ToString());
    }
}

Avšak při pokusu přesměrování výstupu do textboxu vždy narazím. 

Nevím jak přetypovat explicitně object o na string :((

Děkuji za rady, pomoc.

Nahlásit jako SPAM
IP: 213.192.33.–
24. 10. 2022   #2
-
0
-
Nahlásit jako SPAM
IP: 2001:af0:ffe4:85f4:25bf:8af1:a3dd:567f...–
davhoos0
Newbie
24. 10. 2022   #3
-
0
-

#2 hlucheucho
Děkuji, o to jsem se pokusil. Jen při kódu ve formuláři narazím...

Takto to nefunguje. Mohu tě poprosit o úpravu?

txtBox.Text(o.ToString());
Nahlásit jako SPAM
IP: 213.192.33.–
gna
~ Anonymní uživatel
1847 příspěvků
24. 10. 2022   #4
-
0
-

#3 davhoos
Na té odkazované stránce je i ukázkový kód nastavující text.

Nahlásit jako SPAM
IP: 213.211.51.–
25. 10. 2022   #5
-
0
-

 Lepší nápovědou je doslovný překlad z angličtiny "členská proměnná". Do proměnné přiřazujeme:

txtBox.Text = "any text";

txtBox2.Text = o.ToString();

hu

Nahlásit jako SPAM
IP: 195.178.67.–
davhoos0
Newbie
25. 10. 2022   #6
-
0
-

#5 hlucheucho
Moc děkuji za pomoc a trpělivost.

Bohužěl co, jsem toto zkoušel, tak opět spadnu do chyby :(

Připojen obrázek.

Nahlásit jako SPAM
IP: 213.192.33.–
25. 10. 2022   #7
-
0
-
Nahlásit jako SPAM
IP: 195.178.67.–
davhoos0
Newbie
25. 10. 2022   #8
-
0
-

#7 hlucheucho
Ano, vrací se mi null, ačkoli hodnota v registru existuje.

Jde o zálohovaný produktový klíč Windowsu 11 na 64bit systému. 

Děkuji za pomoc :-)

Vlákno zatím nechám ještě otevřené, budu pokračovat v kutění večer.

Nahlásit jako SPAM
IP: 213.192.33.–
davhoos0
Newbie
25. 10. 2022   #9
-
0
-

#7 hlucheucho
Ahojte,

děkuji moc za čas a pomoc :-) Jsem rád, že jste tady lidi.

Vyřešil jsem to takto:

1) zmena v project-vlastnosti-sestavení-cílová platforma: 64 bit app

2)  txtBoxWinProdKey.Text = o.ToString();

3) upozornění na admin práva pro práci s registrem přes tlačítko...

using Microsoft.Win32; //pro praci s registrem
using System.Security.Principal; // pro vyzadani admin prav

*
*
*


        private void RegWinCode()
        {

            using (RegistryKey key = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"))
            {
                if (key != null)
                {
                    Object o = key.GetValue("BackupProductKeyDefault");
                    //Console.WriteLine(o.ToString());
                    txtBoxWinProdKey.Text = o.ToString();

                }
            }
	}

*
*
*
*
bool get_admin_rights()
            {
                bool isElevated = false;
                using (WindowsIdentity identity = WindowsIdentity.GetCurrent())
                {
                    WindowsPrincipal principal = new WindowsPrincipal(identity);
                    isElevated = principal.IsInRole(WindowsBuiltInRole.Administrator);

                }
                return isElevated;
            }


            bool adminrights = get_admin_rights();
            if (adminrights == false)
            {
                btnAdmin.Enabled = true;
                btnAdmin.Text = "Please Run like admin...";
                btnAdmin.BackColor = Color.Orange;



            }
            else if (adminrights == true)
            {
                btnAdmin.Visible = false;
            }





Nebo jsem spáchal neefektivní prasečinu, ale funguje taky:

        private void ShowRunFromHKLM()
        {

            System.Diagnostics.Process prcs = new System.Diagnostics.Process();
            prcs.StartInfo.FileName = "powershell.exe";
            prcs.StartInfo.Arguments = "Get-Item -path HKLM:\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run";
            prcs.StartInfo.UseShellExecute = false; //false je nutny!!
            prcs.StartInfo.CreateNoWindow = true; //potlaceni okna powershellu pokud true!
            prcs.StartInfo.RedirectStandardInput = true;
            prcs.StartInfo.RedirectStandardOutput = true;

            prcs.Start();

            string s = prcs.StandardOutput.ReadToEnd();

            string s1 = s.Substring(s.IndexOf("Property"));
            s1 = s1.Substring(s1.IndexOf(":"));
            s1 = s1.Substring(2, s1.IndexOf("\n")).Trim();

            listBox2.Items.Add(s1);   // original value (s)
            //MessageBox.Show(s); //for test via messagebox

            
            prcs.WaitForExit();
        }
Nahlásit jako SPAM
IP: 213.192.33.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 20 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý