Search results for '스파게티'

노트북 도난방지 0928

2008. 9. 28. 23:19
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using WaveLib.AudioMixer;
namespace MyProgram
{
public partial class ScreenSaver : Form
{

public ScreenSaver()
{
InitializeComponent();
}

private void ScreenSaver_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode.Equals(Keys.Space))
{
MessageBox.Show("키보드 누르지마");
}
}

private void bt_enter_Click(object sender, EventArgs e)
{
if (tb_ckPw.Text.Equals(Main.pwd))
{
this.Dispose();
}
else ScreenSaver_Activated(sender, e);
}

private void ScreenSaver_Activated(object sender, EventArgs e)
{
SoundPlay sp = new SoundPlay();
MyMessageFilter mf = new MyMessageFilter();

Mixers mixers = new Mixers();
mixers.Playback.Lines.GetMixerFirstLineByComponentType(MIXERLINE_COMPONENTTYPE.DST_SPEAKERS).Volume = 50000;

Timer.Start();

if (Main.temp_Cb_Power)
{
if (SystemInformation.PowerStatus.PowerLineStatus.ToString() == "Offline")
{
sp.SoundPlayer();
Timer.Stop();
}
}

if (Main.temp_Cb_USB)
{
Application.AddMessageFilter(mf);
}

if (Main.temp_Cb_Typing)
{
}
}

private void Timer_Tick(object sender, EventArgs e)
{
ScreenSaver_Activated(sender, e);
}

private void ScreenSaver_Deactivate(object sender, EventArgs e)
{
SoundPlay sound_Stop = new SoundPlay();
sound_Stop.SoundStop();
}
}
}



기본적인 폼의 형태를 대충 갖추고,
전원장치와 USB의 해제에 대한 경고음 이벤트까지 대충 완성했다


Timer.Stop()의 위치와 유무때문에 전원해제에 대한 이벤트가 제대로 먹히지 않아서 삽질했다
이렇게 하고나서 코드들을 보니, 아... 말로만 듣던 스파게티 소스가 이런것인가 싶다.
오디오 제어 관련 소스는 하다하다 못해서
그냥 공개된 다른 이의 소스 프로젝트를 그대로 첨부해서 쓰고있고-_-
주석은 한줄도 없이 막코딩하다보니 이제 슬슬 내가 헷갈려가기도 한다.
얼른 코드 더 길어지기 전에 주석도 달고 스파게티도 좀 풀어야지

아직 갈길이 멀다.
웹카메라도 활용해야하고, 된다면 로그기록까지 남도록해야하는데
휴우~

영어랑 학과공부까지 생각하니 막막~하구나 

박상근 프로그래밍/Laptop Guard