조회 수 43389 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
아래 코드를 이용하면 윈도우즈 XP에서 예약된 작업에 프로그램을 등록할 수 있다.

import pythoncom, win32api
import time
from win32com.taskscheduler import taskscheduler

def create_daily_task(name, cmd, hour=None, minute=None):
    """creates a daily task"""
    cmd = cmd.split()
    ts = pythoncom.CoCreateInstance(taskscheduler.CLSID_CTaskScheduler,None,
                                    pythoncom.CLSCTX_INPROC_SERVER,
                                    taskscheduler.IID_ITaskScheduler)

    if '%s.job' % name not in ts.Enum():
        task = ts.NewWorkItem(name)

        task.SetApplicationName(cmd[0])
        task.SetParameters(' '.join(cmd[1:]))
        task.SetPriority(taskscheduler.REALTIME_PRIORITY_CLASS)
        task.SetFlags(taskscheduler.TASK_FLAG_RUN_ONLY_IF_LOGGED_ON)
        task.SetAccountInformation('', None)
        ts.AddWorkItem(name, task)
        run_time = time.localtime(time.time() + 300)
        tr_ind, tr = task.CreateTrigger()
        tt = tr.GetTrigger()
        tt.Flags = 0
        tt.BeginYear = int(time.strftime('%Y', run_time))
        tt.BeginMonth = int(time.strftime('%m', run_time))
        tt.BeginDay = int(time.strftime('%d', run_time))
        if minute is None:
            tt.StartMinute = int(time.strftime('%M', run_time))
        else:
            tt.StartMinute = minute
        if hour is None:
            tt.StartHour = int(time.strftime('%H', run_time))
        else:
            tt.StartHour = hour
        tt.TriggerType = int(taskscheduler.TASK_TIME_TRIGGER_DAILY)
        tr.SetTrigger(tt)
        pf = task.QueryInterface(pythoncom.IID_IPersistFile)
        pf.Save(None,1)
        task.Run()
    else:
        raise KeyError("%s already exists" % name)

    task = ts.Activate(name)
    exit_code, startup_error_code = task.GetExitCode()
    return win32api.FormatMessage(startup_error_code)

퍼온 사이트: http://tarekziade.wordpress.com/2007/11/01/scheduling-tasks-in-windows-with-pywin32/

TAG •

CSharp
2008.10.23 10:42

Windows Mobile / 인터넷 연결하기

조회 수 49339 추천 수 0 댓글 1
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form

SCH-M480 (블랙잭 2)에서 RAS로는 전화접속 인터넷 연결이 되지 않았다. 몇 시간을 찾아 헤메다가..

C#에서는 OpenNETCF 의 Smart Device Framework를 사용하면 된다고 어느 페이지에서 찾았다.

이렇게 쉬운데, RAS연결이 안된다고 고민했다니, 윽..

우선, http://www.opennetcf.com 에서 Smart Device Framework 2.2를 받아서 자신의 PC에 설치하고,

VS2005 프로젝트에서 참조를 C:\Program Files\OpenNETCF\Smart Device Framework\2.2\Bin\OpenNETCF.Net.dll 추가한다.

버튼하나를 만들어 클릭하면 전화접속 인터넷 연결이 되도록했다.

Example)

using OpenNETCF.Net;
// ... 생략
 private ConnectionManager m_cm = null;  // 맴버변수
// ... 생략

    public Form1() // 생성자
    {
        // 위 부분 생략함.
        m_cm = new ConnectionManager();  // ConnectionManager 객체 생성
        m_cm.Connected += new System.EventHandler(CM_Connected); // 연결이 완료 이벤트 핸들러 등록
        m_cm.ConnectionFailed += new System.EventHandler(CM_ConnectionFailed); // 연결 실패 이벤트 핸들러 등록
        m_cm.Disconnected += new System.EventHandler(CM_Disconnected); // 연결 끊어짐 이벤트 핸들러 등록
        m_cm.Timeout = 20000; // 연결시 타임아웃 지정... 단위는 밀리초인 듯.
    }
    private void CM_Connected(object sender, EventArgs e)
    {
        // TODO: 연결이 완료되었을 때 하고 싶은 일 아래 추가.
        MessageBox.Show("네트워크 연결이 완료되었습니다: " + m_cm.Status);
    }
    private void CM_ConnectionFailed(object sender, EventArgs e)
    {
        // TODO: 연결이 실패했을 때 하고 싶은 일 아래 추가.
        MessageBox.Show("네트워크 연결을 하지 못했습니다.(" + e.ToString() + ")");
    }
    private void CM_Disconnected(object sender, EventArgs e)
    {
        // TODO: 연결이 종료되었을 때 하고 싶은 일 아래 추가
        MessageBox.Show("네트워크 연결이 종료 되었습니다.(" + e.ToString() + ")");
    }
    // 버튼을 클릭했을 때
    private void button1_Click(object sender, EventArgs e)
    {
        m_cm.Connect(); // 연결을 함.
    }
// ... 생략

참고사이트

http://www.opennetcf.com/library/sdf/

http://www.opennetcf.com/

크리에이티브 커먼즈 코리아 저작자표시 Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경허용/3.0에 따라 이용하실 수 있습니다


조회 수 37324 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
.NET Compact Framework 에서의 폼 로딩시 크기를 화면에 맞추려고 바보같이 Form의 크기를 수동으로 맞추었었다. emoticon

아래와 같은 코드를 사용하면 화면에 꽉찬 Form 을 볼 수 있다.

form1.Width = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Width;
form1.Height = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Height- 2*SystemInformation.MenuHeight;

SystemInformation.MenuHeight 는 메뉴 한 줄의 높이인데, Windows Mobile Device에서 상단,하단의 Bar의 높이인 것 같다.


Linux
2008.10.21 11:04

Upstart

조회 수 24765 추천 수 0 댓글 2
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
Fedora 9 부터 시스템 초기화 시스템이 upstart로 옮겨지면서 첨엔 당황했었습니다. /etc/inittab 에 등록해놓고 시스템시작시 수행안되니 말이에요.
부팅하는 동안에 task와 service의 시작을 처리하던 /sbin/init가 event 기반으로하는 upstart로 대치되었네요.
upstart는 시스템이 실행(run)하는 동안에 서비스들을 stop, start 할 수 있네요.
첨엔 Ubuntu 용으로 개발되었으나 모든 리눅스에 탑재될 것 같다고 나오네요.

사용예)

# testd
#

description     "service test daemon"
author          "Jeong-soo, Kim <wittgens@gmail.com>"

# runlevel 3에서 시작
start on runlevel 3

# 출력되는 곳 지정
console output

# 서비스 프로그램
exec /sbin/testd

# 죽으면 다시 살아남.
respawn

위와 같이 같단히 만들어서 /etc/event.d/testd 라는 파일로 생성하면 됩니다. 물론 /sbin/testd는 본인이 만든 서비스 프로그램입니다.


서비스 시작과 중지는 아래와 같이 합니다.
# initctl start testd 또는 start testd
# initctl stop testd 또는 stop testd


더 자세한 정보는 http://upstart.ubuntu.com 에서 찾아볼 수 있습니다.

크리에이티브 커먼즈 코리아 저작자표시 Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락/3.0에 따라 이용하실 수 있습니다


TAG •
  • ?
    진석 2008.11.01 00:58
    왠 높임말? ㅋ
    페도라 아직 안 죽었나~ ㅋㅋ
  • ?
    비트겐스 2008.11.05 14:36
    걍 써봤다. 걍 반말로 해야긋다. ㅋㅋ
    페도라 아직 안죽었는것 같은데.ㅋㅋ

CSharp
2008.10.11 12:43

System.Text.Encoding 클래스

조회 수 25390 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
Extra Form
사용예)
message = "안녕";
byte[] data = System.Text.Encoding.GetEncoding(949).getBytes(message);

코드 페이지는 http://msdn.microsoft.com/ko-kr/library/system.text.encoding.aspx 를 참조하세요.emoticon
TAG •

Board Pagination Prev 1 ... 14 15 16 17 18 19 20 21 22 23 ... 39 Next
/ 39