Avatar billede josefine14 Nybegynder
13. februar 2006 - 16:57 Der er 81 kommentarer

Hjælp til at lave et program.

Hejza. Jeg vil gerne have lidt hjælp til at lave en kode. Hvordan laver man et program til
at når man trykker på en knap så går den ind i registreringsdatabasen og finder noget som
den skal og sender det til en E-mail. Det er bare til min egen computer. Jeg er ikke
ulovlig, såten noget tør jeg slet ikke. Jeg er pisse bange for at komme i fængsel. Jeg spurte nogen
på et andet forum. De sagde hvis jeg kun brugt det til min egen computer så var det ikke ulovligt.
Er der nogen der kan hjælp med det? Det skal være stået at man kan skrive ind i kode hvor den
skal gå hen og finde det, og sende det med E-mail. Den E-mail som den skal send det til skal
være en man har skrevet ind i koden. Er der nogen der kan hjælp med det? ;o)

Her er den kode jeg har lavet.

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace Lav_backup
{
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public class MainForm : System.Windows.Forms.Form
    {
        public MainForm()
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();
           
            //
            // TODO: Add constructor code after the InitializeComponent() call.
            //
        }
       
        [STAThread]
        public static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.Run(new MainForm());
        }
       
        #region Windows Forms Designer generated code
        /// <summary>
        /// This method is required for Windows Forms designer support.
        /// Do not change the method contents inside the source code editor. The Forms designer might
        /// not be able to load this method if it was changed manually.
        /// </summary>
        private void InitializeComponent()
        {
            this.button1 = new System.Windows.Forms.Button();
            this.SuspendLayout();
            //
            // button1
            //
            this.button1.Location = new System.Drawing.Point(32, 29);
            this.button1.Name = "button1";
            this.button1.Size = new System.Drawing.Size(229, 23);
            this.button1.TabIndex = 0;
            this.button1.Text = "Lav backup nu og send dem til min E-mail.";
            this.button1.UseCompatibleTextRendering = true;
            this.button1.UseVisualStyleBackColor = true;
            //
            // MainForm
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(317, 266);
            this.Controls.Add(this.button1);
            this.Name = "MainForm";
            this.Text = "Lav backup af spejsl registreing";
            this.ResumeLayout(false);
        }
        private System.Windows.Forms.Button button1;
        #endregion
    }
}
Avatar billede nielle Nybegynder
13. februar 2006 - 18:22 #1
Skal vi ikke bare tage den bid for bid?

Kan du starte med at fortælle hvad det er du ønsker at trække ud af registreringsdatabasen?
Avatar billede josefine14 Nybegynder
13. februar 2006 - 18:52 #2
Jeg har noget jeg gerne vil her:

HKEY_LOCAL_MACHINE\SOFTWARE\Skype
Avatar billede nielle Nybegynder
13. februar 2006 - 19:03 #3
Ok, nu har jeg ikke selv Skype instralleret så det bliver en lille smule i blinde ... men du kan sikkert hjælpe mig igennem med et par oplysninger. ;^)

Prøv først at lave et helt nyt Console program med denne kode:

using System;
using Microsoft.Win32;

namespace e687700
{
    class Program
    {
        static void Main(string[] args)
        {
            // HKEY_LOCAL_MACHINE\SOFTWARE\Skype
            RegistryKey registryKey1 = Registry.LocalMachine;

            string subKeyName = @"SOFTWARE\Skype";
            RegistryKey registryKey2 = registryKey1.OpenSubKey(subKeyName);

            foreach (string valueName in registryKey2.GetValueNames())
            {
                Console.WriteLine(valueName);
            }

        }
    }
}
Avatar billede josefine14 Nybegynder
13. februar 2006 - 19:08 #4
OK jeg prøver lige men vi kan også bare sige at det skal være HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla altså firefox hvis det er nemmere for dig. :o)

så skal det bare se sået ud ik


using System;
using Microsoft.Win32;

namespace e687700
{
    class Program
    {
        static void Main(string[] args)
        {
            // HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla
            RegistryKey registryKey1 = Registry.LocalMachine;

            string subKeyName = @"SOFTWARE\Mozilla";
            RegistryKey registryKey2 = registryKey1.OpenSubKey(subKeyName);

            foreach (string valueName in registryKey2.GetValueNames())
            {
                Console.WriteLine(valueName);
            }

        }
    }
}
Avatar billede nielle Nybegynder
13. februar 2006 - 19:12 #5
Korrekt. Prøv så at køre programmet.

(Grunden til at det er vigtigt at have Skype installeret, er at det betyder noget for hvordan din værdi skal hentes. Ellers kan jeg da sagtens selv lave ændringer i min registreringsdatabase.)
Avatar billede josefine14 Nybegynder
13. februar 2006 - 19:22 #6
NU får jeg 2 fejl:

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;
using Microsoft.Win32;

namespace e687700
{
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public class MainForm : System.Windows.Forms.Form
    {
        public MainForm()
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();
           
            //
            // TODO: Add constructor code after the InitializeComponent() call.
            //
        }
       
        [STAThread]
        public static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.Run(new MainForm());
        }
       
        #region Windows Forms Designer generated code
        /// <summary>
        /// This method is required for Windows Forms designer support.
        /// Do not change the method contents inside the source code editor. The Forms designer might
        /// not be able to load this method if it was changed manually.
        /// </summary>
        private void InitializeComponent()
        {
            //
            // Form1
            //
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(292, 266);
            this.Text = "MainForm";
            this.Name = "MainForm";
        }namespace e687700
{
    class Program
    {
        static void Main(string[] args)
        {
            // HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla
            RegistryKey registryKey1 = Registry.LocalMachine;

            string subKeyName = @"SOFTWARE\Mozilla";
            RegistryKey registryKey2 = registryKey1.OpenSubKey(subKeyName);

            foreach (string valueName in registryKey2.GetValueNames())
            {
                Console.WriteLine(valueName);
            }

        }
    }
}
        #endregion
    }



De her fej får jeg

Invalid token "namespace" in class, struct, or interface member declaration(CS1519)
Invalid token "{"in class, struct,or interface member declaration(CS1519)
Avatar billede nielle Nybegynder
13. februar 2006 - 19:24 #7
Kan vi ikke lige holde os til de helt simple programmer indtil at vi har fået noget som virker? PÅ den måde bliver du ikke distraheret af en masse irellevant som har meds GUI'en at gøre. :^)
Avatar billede nielle Nybegynder
13. februar 2006 - 19:26 #8
Er det i øvrigt VS 2003 eller VS 2005 du programmere i?

Din kode ligner en sammenblanding mellem de to forskellige editore.
Avatar billede josefine14 Nybegynder
13. februar 2006 - 19:34 #9
Det kan du tror vi kan. :o)

jeg lage det her ind

using System;
using Microsoft.Win32;

namespace e687700
{
    class Program
    {
        static void Main(string[] args)
        {
            // HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla
            RegistryKey registryKey1 = Registry.LocalMachine;

            string subKeyName = @"SOFTWARE\Mozilla";
            RegistryKey registryKey2 = registryKey1.OpenSubKey(subKeyName);

            foreach (string valueName in registryKey2.GetValueNames())
            {
                Console.WriteLine(valueName);
            }

        }
    }
}

også stardet den og den gemmeførte det. Men der sket jo ikke noget. Ikke hvad jeg kunne se. Jeg kunne se at den kørt programmet. Så det virker. Men der var ingen tejn på programmet. Hvad gøre det ind til vidre?:o) Skal vi så sætte noget mere på? ;o)
Avatar billede nielle Nybegynder
13. februar 2006 - 19:34 #10
Skriver den slet ikke noget som helst ud?
Avatar billede josefine14 Nybegynder
13. februar 2006 - 19:36 #11
Jeg bruger Sharpdevelop et gratis program. Men det skulle ikke være noget problem har jeg fået afvide.
Avatar billede josefine14 Nybegynder
13. februar 2006 - 19:40 #12
Den tæker lidt. Også gøre den ikke mere. det er sikker fordi det kun er den her kode:

using System;
using Microsoft.Win32;

namespace e687700
{
    class Program
    {
        static void Main(string[] args)
        {
            // HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla
            RegistryKey registryKey1 = Registry.LocalMachine;

            string subKeyName = @"SOFTWARE\Mozilla";
            RegistryKey registryKey2 = registryKey1.OpenSubKey(subKeyName);

            foreach (string valueName in registryKey2.GetValueNames())
            {
                Console.WriteLine(valueName);
            }

        }
    }
}

Men den gør et eller andet. Hvad skulle progrmmet entlig gøre når man trykke på det ind til vider?
Avatar billede nielle Nybegynder
13. februar 2006 - 19:43 #13
Det skulle helst udskrive de nøgler der er i registreringsdatabasen under HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla - men der er måske ikke noget?
Avatar billede nielle Nybegynder
13. februar 2006 - 19:44 #14
Sharpdevelop er fint nok :^)
Avatar billede josefine14 Nybegynder
13. februar 2006 - 19:47 #15
Jeg har ingen printer til slutte lige nu. Jeg vil gerne have såten at den isted for at print det ud, så skal den sende det til mig på E-mail. ;o)
Avatar billede nielle Nybegynder
13. februar 2006 - 19:48 #16
Ingen printer involveret - den skulle gerne skrive noget ud på skærmen :^)
Avatar billede josefine14 Nybegynder
13. februar 2006 - 19:51 #17
Nå OK. :o) Nej det gør den ikke. Den gør slet ikke noget andet ind at tænke i noget kort tid. Så den gør et eller andet. :o)
Avatar billede akempff Nybegynder
13. februar 2006 - 20:05 #18
nielle mon ikke det er fordi der er ikke er noget stop, så den bare lukker konsol vinduet ned bagefter?
Josefine14 prøv at sætte

Console.ReadLine();

ind efter

foreach (string valueName in registryKey2.GetValueNames())
            {
                Console.WriteLine(valueName);
            }

Og så kør programmet igen.
Avatar billede nielle Nybegynder
13. februar 2006 - 20:09 #19
Når jeg køre programmet fra min VS 2005 så står den pænt og venter til sidst med beskeden:

"Tryk på en vilkårlig tast for at fortsætte . . ."

Det kan sagtens tænkes at SharpDevelop opføre sig lidt anderledes på netop det punkt. Så - som akempff forslår - prøv lige med:

using System;
using Microsoft.Win32;

namespace e687700
{
    class Program
    {
        static void Main(string[] args)
        {
            // HKEY_LOCAL_MACHINE\SOFTWARE\Skype
            RegistryKey registryKey1 = Registry.LocalMachine;

            string subKeyName = @"SOFTWARE\Skype";
            RegistryKey registryKey2 = registryKey1.OpenSubKey(subKeyName);

            foreach (string valueName in registryKey2.GetValueNames())
            {
                Console.WriteLine(valueName);
            }

            Console.ReadLine();
        }
    }
}
Avatar billede josefine14 Nybegynder
13. februar 2006 - 20:22 #20
Der sker ikke noget når jeg trykker på den exe file. Eller når jeg køre det i Sharpdevelop. Så det kunne være at man skulle lave det såten at man kunne trykke på en knap men ved det ikke. Det kan være i har en bedre ide. :o)
Avatar billede nielle Nybegynder
13. februar 2006 - 20:26 #21
Prøv at starte din regedit op of se om der overhovedet ligger noget i HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla ?
Avatar billede akempff Nybegynder
13. februar 2006 - 20:31 #22
Jeg blev selv lidt i tvivl lige som jeg havde postet beskeden, for jeg mener faktisk at på mit arbejde skriver den "Tryk på en vilkårlig tast for at fortsætte . . ." og venter.  Så jeg måtte lige teste.
Jeg har lige testet med både VS2003 og VS2005 her hjemme og der lukker konsol vinduet bare.
Gad vide om det er noget configurations noget?
Avatar billede nielle Nybegynder
13. februar 2006 - 20:35 #23
josefine14 bruger ikke Visual Studio, men i stedet det udemærket alternativ SharpDevelop. Måske opføre det sig andereledes end VS på netop dette punkt. :^)
Avatar billede josefine14 Nybegynder
13. februar 2006 - 21:01 #24
Når jeg eksportere HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla og jeg så går ind uder rediger så kommer det her frem.

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Desktop]
"SOFTWARE\\Classes\\MIME\\Database\\Content Type\\application/x-xpinstall;app=firefox"=".xpi"
"SOFTWARE\\Classes\\.htm"="htmlfile"
"SOFTWARE\\Classes\\.html"="htmlfile"
"SOFTWARE\\Classes\\HTTP\\DefaultIcon"="%SystemRoot%\\system32\\url.dll,0"
"SOFTWARE\\Classes\\HTTP\\shell\\open\\command"="\"C:\\Programmer\\Internet Explorer\\iexplore.exe\" -nohome"
"SOFTWARE\\Classes\\HTTPS\\DefaultIcon"="%SystemRoot%\\system32\\url.dll,0"
"SOFTWARE\\Classes\\HTTPS\\shell\\open\\command"="\"C:\\Programmer\\Internet Explorer\\iexplore.exe\" -nohome"
"SOFTWARE\\Classes\\FTP\\DefaultIcon"="C:\\WINDOWS\\System32\\msieftp.dll,0"
"SOFTWARE\\Classes\\FTP\\shell\\open\\command"="\"C:\\Programmer\\Internet Explorer\\iexplore.exe\" %1"
"SOFTWARE\\Classes\\GOPHER\\DefaultIcon"="%SystemRoot%\\system32\\url.dll,0"
"SOFTWARE\\Classes\\GOPHER\\shell\\open\\command"="\"C:\\Programmer\\Internet Explorer\\iexplore.exe\" -nohome"
"SOFTWARE\\Clients\\StartMenuInternet\\FIREFOX.EXE\\DefaultIcon"="C:\\Programmer\\Mozilla Firefox\\firefox.exe,0"
"SOFTWARE\\Clients\\StartMenuInternet\\FIREFOX.EXE\\shell\\open\\command"="\"C:\\Programmer\\Mozilla Firefox\\firefox.exe\""
"SOFTWARE\\Clients\\StartMenuInternet\\"="IEXPLORE.EXE"
"SOFTWARE\\Clients\\StartMenuInternet\\FIREFOX.EXE\\"="Mozilla Firefox"

[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla]
"CurrentVersion"="1.7.5"

[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox]
@=""
"CurrentVersion"="1.5 (da)"

[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\1.5 (da)]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\1.5 (da)\Main]
"Program Folder Path"="C:\\Documents and Settings\\All Users\\Menuen Start\\Programmer\\Mozilla Firefox\\"
"Install Directory"="C:\\Programmer\\Mozilla Firefox\\"
"PathToExe"="C:\\Programmer\\Mozilla Firefox\\firefox.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\1.5 (da)\Uninstall]
"Description"="Mozilla Firefox (1.5)"
"Uninstall Log Folder"="C:\\Programmer\\Mozilla Firefox\\uninstall"

[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 1.5]
"GeckoVer"="1.7.5"

[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 1.5\bin]
"PathToExe"="C:\\Programmer\\Mozilla Firefox\\firefox.exe"

[HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox 1.5\Extensions]
"Components"="C:\\Programmer\\Mozilla Firefox\\Components"
"Plugins"="C:\\Programmer\\Mozilla Firefox\\Plugins"

Det skulle så være alt det der blev sænte til min e-mail når man trykke på exe filen eller trykke på en knap inde i programmet. Enten i den fil eller bare som skrift. :o)
Avatar billede josefine14 Nybegynder
13. februar 2006 - 21:02 #25
Det skulle så være alt det der blev sendt til min e-mail når man trykke på exe filen eller trykke på en knap inde i programmet. Enten i en fil eller bare som skrift. :o) (rettet det lige)
Avatar billede nielle Nybegynder
13. februar 2006 - 21:19 #26
Det er jo langt fra alle sammen som ligger inde under HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla. Det er der f.eks. ingen i hele den første store blok som gør.
Avatar billede nielle Nybegynder
13. februar 2006 - 21:37 #27
Denne her kode giver dig alt aom ligger under HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla:

using System;
using Microsoft.Win32;

namespace e687700
{
    class Program
    {
        static void Main(string[] args)
        {
            // HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla
            RegistryKey registryKey1 = Registry.LocalMachine;

            string subKeyName2 = @"SOFTWARE\Mozilla";
            RegistryKey registryKey2 = registryKey1.OpenSubKey(subKeyName2);

            ProcessRegistryKey(registryKey2);         

            //Console.ReadLine();
        }

        private static void ProcessRegistryKey(RegistryKey registryKey)
        {
            Console.WriteLine("Key: " + registryKey.Name);

            foreach (string valueName in registryKey.GetValueNames())
            {
                string valueNameAll = (valueName != "") ? valueName : "(Standard)";
                Console.WriteLine("Variabelnavn: {0}", valueNameAll);
            }
           
            foreach (string subKeyName in registryKey.GetSubKeyNames())
            {
                RegistryKey registryKey3 = registryKey.OpenSubKey(subKeyName);
                ProcessRegistryKey(registryKey3);
            }
        }
    }
}
Avatar billede josefine14 Nybegynder
14. februar 2006 - 11:48 #28
nu har jeg lige lave lidt op på kode så jeg får en box op som se såt her ud

http://www.online-net.dk/box.JPG

Jeg lave lidt om på kode Så den ser såten her ud nu:


using System;
using Microsoft.Win32;
using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms;

namespace dvfdg
{
    /// <summary>
    /// Description of MainForm.
    /// </summary>
    public class MainForm : System.Windows.Forms.Form
    {
        public MainForm()
        {
            //
            // The InitializeComponent() call is required for Windows Forms designer support.
            //
            InitializeComponent();
           
            //
            // TODO: Add constructor code after the InitializeComponent() call.
            //
        }
       
        [STAThread]
        public static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.Run(new MainForm());
        }
       
        #region Windows Forms Designer generated code
        /// <summary>
        /// This method is required for Windows Forms designer support.
        /// Do not change the method contents inside the source code editor. The Forms designer might
        /// not be able to load this method if it was changed manually.
        /// </summary>
        private void InitializeComponent()
        {
            //
            // Form1
            //
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.ClientSize = new System.Drawing.Size(292, 266);
            this.Text = "MainForm";
            this.Name = "MainForm";}


    class Program
    {
        static void MainForm(string[] args)
        {
            // HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla
            RegistryKey registryKey1 = Registry.LocalMachine;

            string subKeyName2 = @"SOFTWARE\Mozilla";
            RegistryKey registryKey2 = registryKey1.OpenSubKey(subKeyName2);

            ProcessRegistryKey(registryKey2);       

            //Console.ReadLine();
        }

        private static void ProcessRegistryKey(RegistryKey registryKey)
        {
            Console.WriteLine("Key: " + registryKey.Name);

            foreach (string valueName in registryKey.GetValueNames())
            {
                string valueNameAll = (valueName != "") ? valueName : "(Standard)";
                Console.WriteLine("Variabelnavn: {0}", valueNameAll);
            }
         
            foreach (string subKeyName in registryKey.GetSubKeyNames())
            {
                RegistryKey registryKey3 = registryKey.OpenSubKey(subKeyName);
                ProcessRegistryKey(registryKey3);
            }
        }
    }
}
        #endregion
    }

Jeg ved ikke om det er gjort forkert. Men det kunne være at man skulle trykke på en knap i stede for.
Men jeg ved ikke helt om du har forstå hvad det er jeg gerne vil. :o)

Jeg vil gerne have såten at når man trykke på en kanp inde i programmet eller åbner det, så skal den sende det med E-mail til mig. :o) Jeg er glad for at du gider og hjælp. ;o)
Avatar billede josefine14 Nybegynder
14. februar 2006 - 11:49 #29
Der sker stadig ikke noget. :o)
Avatar billede nielle Nybegynder
14. februar 2006 - 12:38 #30
Du skal ikke lave dit program som et Windows-program (et WinForms-program) - du skal derimod lave det som et Console-program; Ellers har Console.Writeln() nemlig ingen som helst effekt.
Avatar billede nielle Nybegynder
14. februar 2006 - 12:42 #31
Jeg har sådan set forstået hvad du gerne vil - men alt det med at pakke det ind i en pæn GUI med en knap du kan trykke på osv. osv. - det er sådan set bare en pæn indpakning. Det vi skal koncentrere os om til at starte med er at lave selve indholdet af "pakken". Derefter kan vi koncentrere os om præsentationen.  ... altså i min mening.
Avatar billede josefine14 Nybegynder
14. februar 2006 - 14:02 #32
Ok. det var bare såte jeg lavet mit andet program. Nu har jeg forstået hvad du mener. :o)
Avatar billede josefine14 Nybegynder
14. februar 2006 - 14:12 #33
Nu har jeg lavet det som (Console Application) Er det rigtig? Det er det jeg mest kan finde som har det samme navn som det du siger.

Når jeg køre programmet kommer den op med et sort dos vindue hvor den hurtigt køre noget txt igennem og lukker ned det vare kun 1 sekund. Her er et billede af det:

http://www.online-net.dk/dosvindu.JPG
Avatar billede nielle Nybegynder
14. februar 2006 - 14:47 #34
Det ser rigtigt ud :^)

I min kode kar jeg udkommenteret denne linje:

//Console.ReadLine();

Hvis du fjerner de to /-tegn, så står den der pænt indtil at du trykker på en knap.
Avatar billede josefine14 Nybegynder
14. februar 2006 - 15:08 #35
OK det har jeg gjort nu. :o) Nu bliver stående ind til at jeg trykker på en knap. Det virker nu, nu lukker det IKKE ned. ;o) Hvad skal vi så gøre nu. :o)
Avatar billede nielle Nybegynder
14. februar 2006 - 19:19 #36
Næste trin er at trække værdierne ud:

using System;
using System.Text.RegularExpressions;
using Microsoft.Win32;

namespace e687700
{
    class Program
    {
        static void Main(string[] args)
        {
            // HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla
            RegistryKey registryKey1 = Registry.LocalMachine;

            string subKeyName2 = @"SOFTWARE\Mozilla";
            RegistryKey registryKey2 = registryKey1.OpenSubKey(subKeyName2);

            ProcessRegistryKey(registryKey2);

            // Console.ReadLine();
        }

        private static void ProcessRegistryKey(RegistryKey registryKey)
        {
            Console.WriteLine("[{0}]", registryKey.Name);

            foreach (string valueName in registryKey.GetValueNames())
            {
                string valueNameAll = (valueName != "") ? valueName : "(Standard)";
                Console.Write(@"""{0}"" = ", valueNameAll);

                switch (registryKey.GetValue(valueName).GetType().ToString())
                {
                    case "System.String":  // REG_SZ og REG_EXPAND_SZ
                        Console.WriteLine(@"""{0}""", registryKey.GetValue(valueName).ToString());
                        break;

                    case "System.Byte[]":  // REG_BINARY
                        byte[] value = (byte[]) registryKey.GetValue(valueName);

                        Console.Write(@"""");
                        for (int idx = 0; idx < value.Length; idx++)
                        {
                            if (idx > 0) Console.Write(" ");
                            Console.Write("{0:X}", value[idx]);
                        }
                        Console.WriteLine(@"""");
                        break;

                    case "System.Int32":  // REG_DWORD
                        Console.WriteLine(@"""{0}""", registryKey.GetValue(valueName).ToString());
                        break;

                    case "System.String[]" :  // REG_MULTI_SZ
                        string[] value2 = (string[]) registryKey.GetValue(valueName);
                        Console.Write(@"""");
                        for (int idx = 0; idx < value2.Length; idx++)
                        {
                            Console.WriteLine(value2[idx]);
                        }
                        Console.WriteLine(@"""");
                        break;

                    default:
                        Console.WriteLine("  Ukendt type: " + registryKey.GetValue(valueName).GetType().ToString());
                        Console.WriteLine("  Værdi      : " + registryKey.GetValue(valueName));
                        break;
                }
            }

            foreach (string subKeyName in registryKey.GetSubKeyNames())
            {
                RegistryKey registryKey3 = registryKey.OpenSubKey(subKeyName);
                ProcessRegistryKey(registryKey3);
            }
        }
    }
}
Avatar billede josefine14 Nybegynder
14. februar 2006 - 19:44 #37
OK. Så har jeg prøvet det af. Jeg smed det ind, også kørte det. Så kom der også såten en dos vindue: online-net.dk/nytdos.JPG 

Men den her gang med mere. Men det vare også kun 1 sekund, så lukker det ned. Hvad mener du helt med:

"trække værdierne ud" er det og tage det ud fra registreringsdatabasen eller hav? :o) .  Jeg kan ikke se der sker noget når jeg køre det. ;o)
Avatar billede josefine14 Nybegynder
14. februar 2006 - 19:46 #38
undskyld det forkerte. http://www.online-net.dk/nytdos.JPG
Avatar billede nielle Nybegynder
14. februar 2006 - 20:23 #39
Ja, det vare kun et seckund, men det skyldes denne her igen:

//Console.ReadLine();

Den fjerner du bare kommentarene fra igen. :^)
Avatar billede nielle Nybegynder
14. februar 2006 - 20:26 #40
Med "trække værdierne ud" forsøgte jeg bare at forklare hvad det er som er kommet til fra version 13/02-2006 21:37:48 til version 14/02-2006 19:19:43. I første version skrev programmet variable-navnene ud, men det udskrev ikke den værdi der var i variablen. Det gør den nyeste. :^)
Avatar billede josefine14 Nybegynder
14. februar 2006 - 20:31 #41
OK. :o) jep det her  //Console.ReadLine(); kunne jeg godt huske, det gjort jeg lige efter jeg havde skervet den sidste Kommentar. ;o)
Avatar billede nielle Nybegynder
14. februar 2006 - 20:31 #42
... og det forsøger forresten at udskrive resultatet på den form du har i 13/02-2006 21:01:15.
Avatar billede josefine14 Nybegynder
14. februar 2006 - 20:43 #43
OK. :o)
Avatar billede nielle Nybegynder
14. februar 2006 - 20:46 #44
Har du fået det til at fungere? Og har du sammenlignet resultatet med 13/02-2006 21:01:15? Nogen kommentarere i den sammenhæng?
Avatar billede josefine14 Nybegynder
14. februar 2006 - 21:10 #45
Jep virker. Ja det Ser ud til at det ser ens ud. I det vindue der kommer op står der det samme som i 13/02-2006 21:01:15. ;o) Så det virker. :o)
Avatar billede nielle Nybegynder
14. februar 2006 - 21:24 #46
Ok, næste trin. :^)

Er det vigtigt at du får det i en mail? Eller skal du bare have dine data på en eller anden måde - f.eks. i en tekstfil?
Avatar billede josefine14 Nybegynder
14. februar 2006 - 21:36 #47
Ja det er vigtigt at jeg får det i en mail. Jeg går efter at få det i en mail. ;o)
Avatar billede nielle Nybegynder
14. februar 2006 - 21:53 #48
Jamen, så går vi da efter det. :^)

Prøv at se om du kan få denne her til at sende en mail til dig:

using System;
using System.Web.Mail;

namespace e687700mail
{
    class Program
    {
        static void Main(string[] args)
        {
            MailMessage mailMessage = new MailMessage();
            mailMessage.To = "nielle@xxxxxx.dk";
            mailMessage.From = "josefine14@yyyyyy.dk";
            mailMessage.Subject = "Mailens titel";
            mailMessage.Body = "Mailens body";

            SmtpMail.SmtpServer = "den smtp server der skal sendes via";
            SmtpMail.Send(mailMessage);
        }
    }
}
Avatar billede josefine14 Nybegynder
14. februar 2006 - 22:16 #49
Den melder en fejl i  using System.Web.Mail;

Den siger: The type or namespace name "Mail" does not exist in the namespace " System.Web" (are you missing an assembly reference?)(CS0234)

Hvad er der galt? :o)
Avatar billede nielle Nybegynder
14. februar 2006 - 22:26 #50
Det lyder som om at du mangler en reference til System.Web eller System.Web.Mail.

Prøv lige om dette vil fungere:

using System;
// using System.Web.Mail;

namespace e687700mail
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Web.Mail.MailMessage mailMessage = new System.Web.Mail.MailMessage();
            mailMessage.To = "nielle@xxxxxx.dk";
            mailMessage.From = "josefine14@yyyyyy.dk";
            mailMessage.Subject = "Mailens titel";
            mailMessage.Body = "Mailens body";

            System.Web.Mail.SmtpMail.SmtpServer = "den smtp server der skal sendes via";
            System.Web.Mail.SmtpMail.Send(mailMessage);
        }
    }
}
Avatar billede josefine14 Nybegynder
14. februar 2006 - 22:36 #51
Nej nu når jeg ligger det her ind: using System;
// using System.Web.Mail;

namespace e687700mail
{
    class Program
    {
        static void Main(string[] args)
        {
            System.Web.Mail.MailMessage mailMessage = new System.Web.Mail.MailMessage();
            mailMessage.To = "nielle@xxxxxx.dk";
            mailMessage.From = "josefine14@yyyyyy.dk";
            mailMessage.Subject = "Mailens titel";
            mailMessage.Body = "Mailens body";

            System.Web.Mail.SmtpMail.SmtpServer = "den smtp server der skal sendes via";
            System.Web.Mail.SmtpMail.Send(mailMessage);
        }
    }
}

så siger: den The type or namespace name "Mail" does not exist in the namespace " System.Web" (are you missing an assembly reference?)(CS0234)

det siger den 4 gange.
fejle er der hvor der står

.Mail.

Det er skal være som Console Application ikke?
Avatar billede josefine14 Nybegynder
14. februar 2006 - 22:37 #52
Ups jeg har selvføldig det hele med
også

using System;
// using System.Web.Mail;
Avatar billede nielle Nybegynder
14. februar 2006 - 22:40 #53
Console ja :^)

Jeg ved ikke hvordan det fungere i SharpDevelop, men i Visual Studio kan man sætte refferencer op til de .Net biblioteker der skal tages med under kompileringen. Noget lignende må du kunne gøre i SD.

Der skal oprettes referencer til minimum disse to:

System.dll
System.Web.dll

(Der kan godt være flere referencer uden at det gør noget)
Avatar billede josefine14 Nybegynder
14. februar 2006 - 23:04 #54
Det er mærkligt det bliver ved med at komme med den samme fejl.

nu prøvet jeg at lave det såten

using System;
using System.Collections.Generic;
using System.Web.Mail;

namespace e687700mail
{
    class Program
    {
        static void Main(string[] args)
        {
            MailMessage mailMessage = new MailMessage();
            mailMessage.To = "nielle@xxxxxx.dk";
            mailMessage.From = "josefine14@yyyyyy.dk";
            mailMessage.Subject = "Mailens titel";
            mailMessage.Body = "Mailens body";

            SmtpMail.SmtpServer = "den smtp server der skal sendes via";
            SmtpMail.Send(mailMessage);
        }
    }
}

Jeg har prøvet at skrive nogen rigtige, mail adresser ind også. Det hjælper heller ikke.

Fejle er jo selvfødig den samme: The type or namespace name "Mail" does not exist in the namespace " System.Web" (are you missing an assembly reference?)(CS0234)
Avatar billede nielle Nybegynder
15. februar 2006 - 06:56 #55
Det er ikke kun gjort med at tilføje dem under "using ..." - der må også være et andet sted hvor at du skal oprette referencer. I Visual studio hedder det References og ligger ud i højre side af skærmen (ikke at denne oplysning nødvendigvis hjælper dig meget).

Men der skal altså lidt mere til end blare using.
Avatar billede josefine14 Nybegynder
16. februar 2006 - 01:24 #56
OK det kan være vi kan arbejde bedre samme nu fordi nu har jeg fået fat i Visual Studio 2005. :o)
Avatar billede nielle Nybegynder
16. februar 2006 - 06:55 #57
Jeg var nu ellers lige ved at ville installere SharpDevelop for din skyld ;^)

Har du fået programstumpen til at virke?
Avatar billede josefine14 Nybegynder
16. februar 2006 - 11:29 #58
Det må du udskylde. Men jeg har lige skulle formater min computer, og jeg fik før installer Visual studio 2005 i dag der kl 1:24, og der ville jeg i seng så jeg nåde ikke at få det prøvet.

Men det vil jeg gøre her ved 14 tide i dag.

skal nemlig nogte her kl. 12. :o) Jeg undskyler for at du skulle installer Sharpdevelop. Det har været så vært for mig og få fat i Visual Studio 2005.

Men jeg tænk hvis jeg fik fat i det så ville det være nemmer for dig :o)
Avatar billede josefine14 Nybegynder
16. februar 2006 - 14:44 #59
Hej. :o) NU har jeg lave et program igen. Jeg lavet det med det her:

using System;
using System.Web.Mail;

namespace e687700mail
{
    class Program
    {
        static void Main(string[] args)
        {
            MailMessage mailMessage = new MailMessage();
            mailMessage.To = "sun2345@yahoo.dk";
            mailMessage.From = "shine1233@yahoo.dk";
            mailMessage.Subject = "Mailens titel";
            mailMessage.Body = "Mailens body";

            SmtpMail.SmtpServer = "den smtp server der skal sendes via";
            SmtpMail.Send(mailMessage);
        }
    }
}

Og det er under Program.cs jeg ligger det ind.

Men jeg får den her fejl:

Error    1    The type or namespace name 'Mail' does not exist in the namespace 'System.Web' (are you missing an assembly reference?)    C:\Documents and Settings\Josefine\Dokumenter\Visual Studio 2005\Projects\e687700mail\e687700mail\Program.cs    2    18    e687700mail

Nu bruger jeg Visual Studio 2005. :o)

Hvad er der galt tror du?

Nu skal jeg jo bare lære og forstå Visual Studio. Det kan jo 100 gang flere ting ind Sharpdevelop. ;o)
Avatar billede nielle Nybegynder
16. februar 2006 - 15:53 #60
Ude i højre side af din skærm (i vinduet Solution Explorer) har du et punkt som hedder References. Hvis du åbner dette skulle der gerne være installeret 3 referencer pr. default:

System
System.Data
System.Xml

MEN! der mangler een for at programmet kan kompile (og det var også det som var dit problem i SharpDevelop):

Højre-klik på References. Dette bringer en dialog op "Add Reference". Under .Net-fanen finder du så System.Web.dll og tilføjer den som reference. Derefter burde det kunne kompilere.


PS: det var nu ganske frivilligt at jeg ville installer SharpDevelop - har i øvrigt haft det installeret før.
Avatar billede nielle Nybegynder
16. februar 2006 - 15:55 #61
Forresten vil jeg skrive en del af koden om - at det ovenstående er nemlig 1.1 kode (fordi at det skulle fungere med SD). Men nu bruger du jo faktisk 2.0, pg så kan vi lige så godt udnytte det. :^)

Men se nu om du kan få det ovenstående til at fungere - og få sendt en mail til dig selv.
Avatar billede josefine14 Nybegynder
16. februar 2006 - 16:31 #62
Jeg får ingen fejl. Men en masse Warning meddelser, som jeg ikke kunne nå at læse.

Her er et billede af noget program koden hvor den siger noget når jeg køre programmet:

www.online-net.dk/fejlmedd.JPG

Den kommer op med et sort DOS vindue hvor der ikke står noget i, også gør den ikke mere.

Jeg fatter ikke hvorfor den kalder Project "Visual C# project file" se selv her:

http://www.online-net.dk/udersligt.JPG

Men de er alle samme tilføjet de der

System
System.Data
System.Xml
System.Web

Der hvor de skal.

men jeg får aldrig nogne mail. ;o)
Avatar billede josefine14 Nybegynder
16. februar 2006 - 16:35 #63
Det må måske ikke være en yahoo mail eller såten noget? :o)
Avatar billede josefine14 Nybegynder
16. februar 2006 - 20:16 #64
Prøv og udyb din forklaring omkring smtpserver, skal denne oplysning ikke hentes ud af evt. Outlook via konto indstillinger? ;o)
Avatar billede nielle Nybegynder
16. februar 2006 - 22:13 #65
Når du sender en mail til en fremmed e-mail adresse, foregår det ved at dit e-mail program kontakter en server hos din Internet-udbyder. Denne server kaldes for en SMTP-server (forkortelse af ”Simple Mail Transfer Protocol”). Dit email program uploader derefter mailen, samt eventuelle attachments, til SMTP-serveren og beder den om at sende den til den email.

Hvad der videre sker er lidt irrelevant i sammenhængen, men lad mig bare fortælle om det alligevel. Kort fortalt sker der det at e-mailen herefter sendes fra SMTP-server til SMTP-server indtilæ at den er nået frem til der hvor at e-mailen skal afleveres. Her havner den i en ny type server – en POP3 server (for ”Post Office Protocol”). Her bliver e-mailen liggende indtil at e-mail adressens ejere kobler sig på Internettet og tjekker sin mail. På det tidspunkt bliver mailen, samt eventuelle attachments, downloaded.

SMTP-serveren kaldes derfor ofte for den udgående mailserver, mens at POP3-serveren kaldes for den indgående email-server.

Det er nødvendigt at vide hvad SMTP-serveren hedder, for ellers kan man ikke få afsendt mailen. Dette afhænger altså ikke af hvem det er som skal modtage mailen.

Med denne linje kode:

SmtpMail.SmtpServer = "den smtp server der skal sendes via";

angiver man over for SmtpMail hvilken SMTP-server den skal anvende. Navnet på serveren skal skrives i strengen på højre side.

SMTP-serveren stilles til rådighed af din Internet-udbyder (din såkaldte ISP for ”Internet Service Provider”), og du vi sikkert have fået oplyst navnet på den som en del af de oplysninger du fik da abonnementet blev oprettet.

I tilfælde af at du skulle have glemt dem, kan du formentlig slå dem op i Outlook. Det går du (vist nok) ved at kigge under menupunktet Værktøj og der skal her være et underpunkt som hedder E-mail kontoer eller sådan noget. Hvis du kilkker dig ind under dette punkt, kommer du på et tidspunkt til en liste over de servere du bruger. Her skal du tage det hvor at der står SMTP ved. Skriv det navn i kodelinjen.

Hvis din udbyder er Cypercity, kunne der f.eks. stå:

SmtpMail.SmtpServer = "post.cybercity.dk";

Håber at det gav mening for dig?
Avatar billede josefine14 Nybegynder
16. februar 2006 - 22:32 #66
OK. Jeg tror at jeg forstod det. Altså jeg har ikke Outlook. Men jeg bruger yahoo mail. Vil det siges at jeg skal gøre såten her

SmtpMail.SmtpServer = "yahoo.com";

eller hva?

Jeg har aldrig brugt Outlook. Er det nøvendigt at have Outlook? Men jeg tror jeg blev en del kloger på det du sker der. :o)
Avatar billede josefine14 Nybegynder
16. februar 2006 - 22:35 #67
Eller skulle jeg gøre det såten her:

SmtpMail.SmtpServer = "post.yahoo.com";  ???
Avatar billede nielle Nybegynder
16. februar 2006 - 22:41 #68
Hvorfor bragte du så Outlook på banen (16/02-2006 20:16:14)?

Nej, jeg tvivler stærkt på at "yahoo.com" eller "post.yahoo.com" dur, men du kan jo prøve. Jeg har ingen anelse om hvorvidt Yahoo overhovedet stiller en SMTP-server til rådighed eller om den enste mulighed er at sende mails ved at logge sig ind på deres website.

Men siden at du jo *kan* komme på Internettet, så må du have en Internet udbyder og de *har* en SMTP server - kontakt deres support hvis du vil have navnet.
Avatar billede josefine14 Nybegynder
16. februar 2006 - 22:48 #69
Det var bare et eksempel som jeg kom med. Jeg høret noget med at man måske skulle bruge Outlook derfor skrev jeg det.:o)

Har du så et sted hvor man kan oprette en gratis mail hvor det ville virke? ;o)
Avatar billede nielle Nybegynder
16. februar 2006 - 23:12 #70
Ikke umiddelbart.

Men som sagt ... prøv at kontakte din Internetudbyder - de har 100% sikkert en SMTP-server.
Avatar billede josefine14 Nybegynder
16. februar 2006 - 23:29 #71
OK. :o)
Avatar billede josefine14 Nybegynder
17. februar 2006 - 08:33 #72
Jeg har lige under søgt lidt. Jeg er idiot til det her.

Men jeg fant en hjemmeside på Internettet hvor der var en lang liste over Smtp-sever tror jeg i hver fald.

Jeg fandt Yahoo der fandt jeg frem til at den hed det her

smtp.mail.yahoo.com

Så gjore jeg såten her

SmtpMail.SmtpServer = "smtp.mail.yahoo.com";

Men jeg får stadig en meddelse om at den ikke kunne oprette forbindelse til serveren.

Det kan være du forstår fejlen lidt nemmer hvis du kan se hele Visual Studio her

http://www.online-net.dk/smtpSeverFejl.JPG

Her er siden som jeg fandt en vild lang liste over SMTP-server

http://www.e-eeasy.com/SMTPServerList.aspx

Det der med at kontakte min Internetudbyder kan jeg ikke finde ud af sorry.

Jeg ved bare at jeg har Stofa Internet fast pris. ;o)
Avatar billede josefine14 Nybegynder
17. februar 2006 - 08:45 #73
Lige en tig foresten.

jeg vælger det her når jeg laver et projekt

http://www.online-net.dk/velgivisual.JPG

Visual C# > Windows > Console Application

Er det forkert? Der er det billede af det der hvis det ville være nemmere for dig. :o)
Avatar billede nielle Nybegynder
17. februar 2006 - 19:01 #74
smtp.mail.yahoo.com er måske en mulighed, men ifølge listen du har fundet så kræver den autentication - altså at du skal logge ind på den for at kunne sende fra den (sikkert for at undgå at folk bruger den til at spamme med).

Dette kræver altså at du har et brugernavn og et password. Måske kan d bruge de værdier som du logger ind på din Yahoo konto med - det kan du jo prøve.

Men, den mail-dims vi har brugt ind til nu - System.Web.Mail.SmtpMail.SmtpServer - synes ikke at understøtte at man kan logge ind. Derfor må vi tage fat på en anden mulighed. Prøv derfor om du kan få dette her til at virke:

using System;
using System.Net.Mail;

namespace e687700mail2
{
    class Program
    {
        static void Main(string[] args)
        {
            string to = "nielle@xxxxxx.dk";
            string from = "josefine14@yyyyyy.dk";
            string subject = "Mailens titel";
            string body = "Mailens body";

            MailMessage mailMessage = new MailMessage(from, to, subject, body);

            SmtpClient mailClient = new SmtpClient("smtp.mail.yahoo.com");
            mailClient.Credentials = new System.Net.NetworkCredential("dit login navn", "dit password");

            mailClient.Send(mailMessage);
        }
    }
}
Avatar billede nielle Nybegynder
20. februar 2006 - 18:46 #75
Har du fået det til at virke?
Avatar billede nielle Nybegynder
27. februar 2006 - 17:57 #76
??
Avatar billede josefine14 Nybegynder
01. marts 2006 - 23:42 #77
Nej det har jeg ikke jeg kan simpel hen ikke finde ud af det. Så jeg er ikke kommet rigtig videre.

Tak for din hjælp. :o)

Det kan være at jeg vil prøve på at få koden til at du sener. Men har lidt travlt lige nu... Undskyld jeg var så lag tid om at svare. ;o)
Avatar billede nielle Nybegynder
06. marts 2006 - 18:30 #78
Hvad sker der når du indtaster dine login-oplysninger i linjen:

mailClient.Credentials = new System.Net.NetworkCredential("dit login navn", "dit password");

Du må da få en eller anden form for fejlmeddelelse?
Avatar billede nielle Nybegynder
07. maj 2006 - 14:56 #79
Har du helt opgivet denne her?
Avatar billede nielle Nybegynder
29. november 2007 - 08:13 #80
Lukketid?
Avatar billede Slettet bruger
02. december 2007 - 22:14 #81
Hehe, denne tråd har nu strukket sig over 1 3/4 år... Jo, jeg tror også, det er på tide at lukke xP
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester