본문 바로가기

Programing (프로그래밍)/WPF & C# (C Sharp)

[ WPF & C# (C Sharp)] - 윈도우 설정을 위한 스크립트? 트윅? 프로그램

728x90
반응형

 

 

 WPF & C# - 윈도우 빠른 설정을 위한 스크립트 ( 트윅 )

 

초기 프로그램 수정사항.hwp
다운로드

 

windows_AS.zip
다운로드

 

 

 

 

 

 @ 내가 필요한건 내가 만들어야 되는듯...

훨씬 잘 만들고 좋은 프로그램도 많기는한데.,..

내가 필요한 부분만 따로 커스터마이징해서 쓸 수 있는 프로그램은 없는거 같다.

장점이자 단점인 부분이다.

일단 필요한 부분만 인터넷 검색하고 컴퓨터 레지스트리 변경 값 확인해가면서 만들었다.

추가적으로 몇가지 더 넣고 좀 보기 좋게 만들어야 겠다. ^^

 

 

 

@ MainWindow.xaml

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<Window x:Name="Window01" x:Class="WpfApp3.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp3"
        mc:Ignorable="d"
        Title="MainWindow" Height="438.242" Width="654.767">
    <Grid Margin="0,2,0,-2">
        <Button x:Name="btn010" Content="자동설정" HorizontalAlignment="Left" Margin="10,10,0,0" VerticalAlignment="Top" Width="100" Height="50" Click="Button_Click"/>
        <Label Content="[탐색기 설정]&#xD;&#xA; - 파일탐색기열기를 '내 PC'로 변경&#xD;&#xA; - 빠른 실행에 최근에 사용된 파일 표시 체크 해제&#xD;&#xA; - 빠른 실행에 최근에 사용된 파일 표시 체크 해제" Height="82" Margin="115,10,10,0" VerticalAlignment="Top" FontSize="14"/>
        <Button x:Name="btn011" Content="절전모드끄기" HorizontalAlignment="Left" Margin="10,109,0,0" VerticalAlignment="Top" Width="100" Height="50" Click="Button_Click"/>
        <Label Content="[전원관리옵션]&#xD;&#xA; - 디스플레이끄기 '없음'&#xD;&#xA; - 컴퓨터를 절전 모드로 설정 '없음'" Height="64" Margin="115,109,10,0" VerticalAlignment="Top" FontSize="14"/>
        <Button x:Name="btn012" Content="자동실행 끄기" HorizontalAlignment="Left" Margin="10,191,0,0" VerticalAlignment="Top" Width="100" Height="50" Click="Button_Click"/>
        <Label Content="[미디어 자동실행]&#xA; - 모든 미디어장치에 자동 실행 사용 '끔'" Height="50" Margin="115,191,10,0" VerticalAlignment="Top" FontSize="14"/>
        <Button x:Name="btn013" Content="UAC 끄기" HorizontalAlignment="Left" Margin="10,246,0,0" VerticalAlignment="Top" Width="100" Height="50" Click="Button_Click"/>
        <Label Content="[사용자계정컨트롤]&#xA; - 사용자 계정 컨트롤 사용 '끔'" Height="50" Margin="115,246,10,0" VerticalAlignment="Top" FontSize="14"/>
        <Button x:Name="btn014" Content="방해 금지 모드" HorizontalAlignment="Left" Margin="10,301,0,0" VerticalAlignment="Top" Width="100" Height="50" Click="Button_Click"/>
        <Label Content="[방해금지모드]&#xA; - 각종 알림에 대한 메세지 보이기 '끔'" Height="50" Margin="115,301,10,0" VerticalAlignment="Top" FontSize="14"/>
    </Grid>
</Window>
 
cs
 

 

 

 

 

@ MainWindow.xaml.cs

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using System;
using System.Diagnostics;
using System.Windows;
using System.Windows.Controls;
 
namespace WpfApp3
{
    /// <summary>
    /// MainWindow.xaml에 대한 상호 작용 논리
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
        
 
        private void cmd(string str)
        {
            ProcessStartInfo cmd = new ProcessStartInfo();
            Process process = new Process();
 
            cmd.FileName = @"cmd";  // cmd 창 실행
            cmd.WindowStyle = ProcessWindowStyle.Hidden; //cmd 창 숨기기
            cmd.CreateNoWindow = true;      //cmd 창 띄우지 않기
            cmd.UseShellExecute = false;   // Shell 기능 미사용
            cmd.RedirectStandardInput = true;  // cmd 창에서 데이터를 가져오기
            cmd.RedirectStandardOutput = true// cmd 창으로 데이터 보내기
            cmd.RedirectStandardError = true//cmd 창에서 오류 내용 가져오기
 
            process.StartInfo = cmd;
            process.EnableRaisingEvents = false;   // 종료 이벤트 알리지 않기
            process.Start();
            process.StandardInput.Write(str + Environment.NewLine);
            process.Close();
            //string result = process.StandardOutput.ReadToEnd();  //cmd출력이 끝나면 다음 문장으로 넘어가기 위함
 
        }
 
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            Button btn = sender as Button;
 
            // 파일탐색기열기(보기)
            if (btn.Name == "btn010")
            {
                cmd(@"cmd.exe /k %windir%\System32\reg.exe ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced /v LaunchTo /t REG_DWORD /d 1 /f");   // 파일탐색기열기 (내PC:1/ 바로가기:2)
                cmd(@"cmd.exe /k %windir%\System32\reg.exe ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer /v ShowFrequent /t REG_DWORD /d 0 /f");   // 최근폴더 (표시하기:1/ 안하기:0)
                cmd(@"cmd.exe /k %windir%\System32\reg.exe ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer /v ShowRecent /t REG_DWORD /d 0 /f");   // 최근파일 (표시하기:1/ 안하기:0)
            }
 
            // 전원옵션
            if (btn.Name == "btn011")
            {
                cmd(@"powercfg /x monitor-timeout-ac 0");   // 디스플레이 끄기 (시간단위:분)
                cmd(@"powercfg /x standby-timeout-ac 0");   // 컴퓨터 절전모드 실행 (시간단위:분)
            }
            
            // 미디어 자동실행 (실행끄기:1 / 실행:0)
            if (btn.Name == "btn012") cmd(@"cmd.exe /k %windir%\System32\reg.exe ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\AutoplayHandlers /v DisableAutoplay /t REG_DWORD /d 1 /f");
 
            // 사용자계정컨트롤 ( UAC끄기:0 / UAC켜기:1)
            if (btn.Name == "btn013") cmd(@"cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f");
            
            // 방해금지모드 (알림끄기:0 / 알림:1)
            if (btn.Name == "btn014") cmd(@"cmd.exe /k %windir%\System32\reg.exe ADD HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Notifications\Settings /v NOC_GLOBAL_SETTING_TOASTS_ENABLED /t REG_DWORD /d 0 /f");
 
            btn.IsEnabled = false;
        }
    }
}
 
cs
 

[절전모드] - 절전사용여부
절전모드 설정
powercfg /h on

절전모드 해지
powercfg /h off

[ 화면 ] - 모니터 끄기
전원 사용시 ( AC )
( 분 단위) powercfg /x monitor-timeout-ac 10
*사용 안함 powercfg /x monitor-timeout-ac 0

배터리 사용시 ( DC )
( 분 단위) powercfg /x monitor-timeout-dc 10
*사용 안함 powercfg /x monitor-timeout-dc 0


[ 절전모드 ] - 절전 상태 전환 
전원 사용시 ( AC )
( 분 단위) powercfg /x standby-timeout-ac 10
*사용 안함 powercfg /x standby-timeout-ac 0

배터리 사용시 ( DC )
( 분 단위) powercfg /x standby-timeout-dc 10
*사용 안함 powercfg /x standby-timeout-dc 0


[ 디스크꺼짐 ]
전원 사용시 ( AC )
( 분 단위) powercfg /x disk-timeout-ac 10
*사용 안함 powercfg /x disk-timeout-ac 0

배터리 사용시 ( DC )
( 분 단위) powercfg /x disk-timeout-dc 10
*사용 안함 powercfg /x disk-timeout-dc 0

 

 

 

 

728x90
반응형