Windows 7 PL Pack 3.1 (15-07-2009) by sCooBy^

<< < (2/109) > >>

Sotom:
Działają poprawnie :) Jak cos moge dac screeny jak chcecie :)

dzagajwp:
wielkie dzięki:) jestem pełen podziwu dla Twojej roboty:)

Sotom:
Zauwazylem jeden błąd(?) mianowicie opcja "Sticky Notes" nie jest po PL. No chyba ze tak mialo zostac bo szczerze nie wiem jakby mialo to brzmiec po polsku :D

sCooBy^:
Sam program prosty w napisaniu.
Więcej roboty było ze strukturą katalogów i zdejmowaniem uprawnień  ;)

Źródełko dla zainteresowanych:
Kod:

using System;
using System.Windows.Forms;
using System.Diagnostics;
using System.IO;
using Microsoft.Win32;
using System.Runtime.InteropServices;

namespace Windows_7_PL_Pack
{
    public partial class Win7plFormGL : Form
    {
        CommandLinkButton cl = new CommandLinkButton();

        public Win7plFormGL()
        {
            InitializeComponent();
            cl.Text = "Zmień język na polski...";
            cl.Height = 58;
            cl.Width = 294;
            cl.Left = 0;
            cl.Top = 0;
            cl.HelpText = "Aby zmienić język wyświetlania na polski ;)";
            this.panel1.Controls.Add(cl);
            cl.Click += new System.EventHandler(cl_Click);
        }

        [DllImport("user32", CharSet = CharSet.Unicode)]
        internal static extern IntPtr SendMessage(IntPtr hWnd,  IntPtr wParam, string lParam);

        public class CommandLinkButton : Button
        {
            public CommandLinkButton()
            {
                base.FlatStyle = FlatStyle.System;
            }

            private string helpText = "";

            public string HelpText
            {
                get
                {
                    return this.helpText;
                }
                set
                {
                    SendMessage(this.Handle,
                      0x00001009, // BCM_SETNOTE
                      IntPtr.Zero, value);

                    this.helpText = value;
                }
            }

            protected override CreateParams CreateParams
            {
                get
                {
                    CreateParams cp = base.CreateParams;
                    cp.Style |= 0x0000000e; //BS_COMMANDLINK
                    return cp;
                }
            }
        }


        public void PrzejmijKatalog(string sKatalog)
        {
            ProcessStartInfo psx = new ProcessStartInfo();
            Process proc;

            psx.Arguments = "/F " + sKatalog + " /R /A";
            psx.FileName = "takeown";
            psx.WindowStyle = ProcessWindowStyle.Hidden;
            proc = Process.Start(psx);
            proc.WaitForExit();

            psx.Arguments = sKatalog + " /grant Administrators:F /t";
            psx.FileName = "icacls";
            psx.WindowStyle = ProcessWindowStyle.Hidden;
            proc = Process.Start(psx);
            proc.WaitForExit();
        }

        public void ZmienBootLocales()
        {
            ProcessStartInfo psx = new ProcessStartInfo();
            Process proc;

            psx.Arguments = "/set {current} locale pl-PL";
            psx.FileName = "bcdedit";
            psx.WindowStyle = ProcessWindowStyle.Hidden;
            proc = Process.Start(psx);
            proc.WaitForExit();

            psx.Arguments = "%WinDir% /l pl-PL";
            psx.FileName = "bcdboot";
            psx.WindowStyle = ProcessWindowStyle.Hidden;
            proc = Process.Start(psx);
            proc.WaitForExit();
        }

        private static bool CopyDirectory(string SourcePath, string DestinationPath, bool overwriteexisting)  
        {  
           bool ret = false;  
           try  
           {  
               SourcePath = SourcePath.EndsWith(@"\") ? SourcePath : SourcePath + @"\";  
               DestinationPath = DestinationPath.EndsWith(@"\") ? DestinationPath : DestinationPath + @"\";  
  
               if (Directory.Exists(SourcePath))  
               {  
                  if (Directory.Exists(DestinationPath) == false)  
                       Directory.CreateDirectory(DestinationPath);  
  
                   foreach (string fls in Directory.GetFiles(SourcePath))  
                   {  
                       FileInfo flinfo = new FileInfo(fls);  
                       flinfo.CopyTo(DestinationPath + flinfo.Name, overwriteexisting);  
                   }  
                   foreach (string drs in Directory.GetDirectories(SourcePath))  
                   {  
                       DirectoryInfo drinfo = new DirectoryInfo(drs);  
                       if (CopyDirectory(drs, DestinationPath + drinfo.Name, overwriteexisting) == false)  
                           ret = false;  
                   }  
               }  
               ret = true;  
           }  
           catch (Exception ex)  
           {  
               ret = false;  
           }  
           return ret;  
       }

        private void cl_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Program rozpocznie polonizację, to może trochę potrwać\nNa końcu zostanie wyświetlony komunikat ;)\nAby rozpocząć - Kliknij OK i czekaj...", "PL MUI Pack by sCooBy^", MessageBoxButtons.OK, MessageBoxIcon.Information);

            cl.Enabled = false;

            String sKatalogWindows = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion", "SystemRoot", "");
            String sKatalogPFiles = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion", "ProgramFilesDir", "");
            String sKatalogCData = (string)Registry.GetValue("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\Shell Folders", "Common AppData", "c:\\ProgramData");

            PrzejmijKatalog(sKatalogWindows + @"\Boot\DVD\PCAT");
            PrzejmijKatalog(sKatalogWindows + @"\diagnostics\scheduled\Maintenance");
            PrzejmijKatalog(sKatalogWindows + @"\servicing");
            PrzejmijKatalog(sKatalogWindows + @"\System32\Boot");
            PrzejmijKatalog(sKatalogWindows + @"\System32\DriverStore");
            PrzejmijKatalog(sKatalogWindows + @"\System32\Speech\SpeechUX");

            CopyDirectory("Windows\\", sKatalogWindows + "\\", true);
            CopyDirectory("Program Files\\", sKatalogPFiles + "\\", true);
            CopyDirectory("ProgramData\\", sKatalogCData + "\\", true);

            ZmienBootLocales();

            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages\pl-PL",
                    "LCID", "1045", RegistryValueKind.DWord);
            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MUI\UILanguages\pl-PL",
                    "Type", "146", RegistryValueKind.DWord);
            Registry.SetValue(@"HKEY_CURRENT_USER\Control Panel\Desktop\MuiCached",
                    "MachinePreferredUILanguages", new string[] { "pl-PL" }, RegistryValueKind.MultiString);
            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language",
                    "InstallLanguage", "0415", RegistryValueKind.String);
            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language",
                    "Default", "0415", RegistryValueKind.String);
            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Locale",
                    "", "00000415", RegistryValueKind.String);
            Registry.SetValue(@"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Locale",
                    "(Default)", "00000415", RegistryValueKind.String);

            MessageBox.Show("Zrobione ;)\nAby zobaczyć zmiany - Restart...","PL MUI Pack by sCooBy^", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
    }
}



Sotom: Narzędzie Wycinanie

bula1000:
Respect  ;D

Nawigacja

[0] Indeks wiadomości

[#] Następna strona

[*] Poprzednia strona