WPF & C# - 윈도우 빠른 설정을 위한 스크립트 ( 트윅 ) |
@ 내가 필요한건 내가 만들어야 되는듯...
훨씬 잘 만들고 좋은 프로그램도 많기는한데.,..
내가 필요한 부분만 따로 커스터마이징해서 쓸 수 있는 프로그램은 없는거 같다.
장점이자 단점인 부분이다.
일단 필요한 부분만 인터넷 검색하고 컴퓨터 레지스트리 변경 값 확인해가면서 만들었다.
추가적으로 몇가지 더 넣고 좀 보기 좋게 만들어야 겠다. ^^
@ 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="[탐색기 설정]
 - 파일탐색기열기를 '내 PC'로 변경
 - 빠른 실행에 최근에 사용된 파일 표시 체크 해제
 - 빠른 실행에 최근에 사용된 파일 표시 체크 해제" 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="[전원관리옵션]
 - 디스플레이끄기 '없음'
 - 컴퓨터를 절전 모드로 설정 '없음'" 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="[미디어 자동실행]
 - 모든 미디어장치에 자동 실행 사용 '끔'" 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="[사용자계정컨트롤]
 - 사용자 계정 컨트롤 사용 '끔'" 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="[방해금지모드]
 - 각종 알림에 대한 메세지 보이기 '끔'" 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