Q&A

  • [질문]윈도 작업스케줄러 등록
윈도 스케쥴러에 등록하여 특정 프로그램(여기서는 calc.exe)을 실행시키려고 하는데

안되고 있어요 델파이에 델자도 모르는 초보라서

3일동안 고민고민 하다가 도움을 받고 싶어서 올려봅니다.

윈도우 7, 델파이 7 사용합니다.

알고 싶은것을 다시 정리하면  
1.아래 코드가 제가 원하는 취지에 맞는 것인가요?

2.맞다는 가정하에 실행이 되었다면, 윈도우 작업 스케줄러에 등록이 되고

  12시 30분에 calc.exe이 실행되야 하는 거죠? 근대 왜 안될까요 -0-;;

  실행을 시키면 돌아가긴 하는데 제대로 되고 있는지 알수가 없네요..ㅠㅠ

무한한 가르침 감사히 받겠습니다. (__)    

================ 여기서 부터 제 소스입니다..=================
unit Schedule;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

type
  NET_API_STATUS = DWORD;

type
  TATInfo = record
    JobTime: DWORD;
    DaysOfMonth: DWORD;
    DaysOfWeek: UCHAR;
    Flags: UCHAR;
    Command: LPWSTR;
end;

const JOB_RUN_PERIODICALLY = $01;


function NetScheduleJobAdd(
  Servername: LPCWSTR;
  var Buffer: TATInfo;
  var JobId: DWORD
  ): NET_API_STATUS; stdcall; external 'Netapi32.dll'
name 'NetScheduleJobAdd';


var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);

var
  at: TATInfo;
  Flag: DWORD;
  ComName: WideString;

begin
  at.JobTime := (12 * 3600 + 30 * 60) * 1000;
  at.DaysOfMonth := 0;
  at.DaysOfWeek := 0;
  at.Flags := JOB_RUN_PERIODICALLY;
  at.Command := 'C:\Windows\System32\calc.exe';
  NetScheduleJobAdd(PWideChar(ComName), at, Flag);
    
      
end;


end.
0  COMMENTS
    • 이재욱
    • 2010.04.16 18:03
    • 6 COMMENTS
    • /
    • 0 LIKES
    • 시니
      2010.04.16 18:21
      ... string은 char형들의 나열이라고 생각하시면 됩니다. char str; // str이라는 변수는 1바이트로...
    • 박제홍
      2010.04.16 19:22
      지정된 스트링 길이를 알아내는 법을 질문하신 것이 아니라, 시스템 내에서 사용가능한 스트링의 최대 길...
    • 최유준
      2010.04.16 19:38
      델파이 질문에 왠 C 답변이 올라온거죠?? 답변은 정성스레 올리셨지만..내용은 좀 당황스럽네요.
    • 구창민
      2010.04.16 20:25
      윈도우즈 32비트 버전에서 어플리케이션에게 할당되는 메모리의 크기는 2GB 로 알려져있습니다. 스트...
    • 이재욱
      2010.04.16 21:51
      답변 감사합니다. ^^
    • 폐기처분中
      2010.04.19 08:42
      시니님께서 올려주신 답변은 C에 해당하는 내용인지라 Pascal 을 언어로 쓰는 델파이에는 맞지 않습니다....
    • 신주용
      2010.04.16 18:16
      <!--CodeS--> 아...저도 그런 경험있습니다 전에 하다가 프로젝트 드롭되서 잊고 있었는데... ...
    • 정재현
    • 2010.04.16 17:56
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이유신
    • 2010.04.16 17:34
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 시니
      2010.04.16 18:22
      텍스트로된 파일의 행단위 정렬을 할때 사용하는 명령어이다. 복잡한 워드문서등의 편집이 아닌 간단한...
    • 이유신
      2010.04.17 00:14
      위의 해결책은 리눅스 명령이이네요 그런데 저의 문제점은 text file에 우선 field라는 개념이 없습니다...
    • 땅콩맨
      2010.04.17 07:12
      아니면 원하는 Column부분을 Sort할 수 있는 프로그램을 직접 제작하시는것은 어떠세요?
    • 황재훈
    • 2010.04.16 15:09
    • 8 COMMENTS
    • /
    • 0 LIKES
    • 송재호
      2010.04.16 16:42
      헛.. 저도 정말 필요한 방법인데.. 꼭 아시는 분 있음 답변 주셨으면 좋겟네요~
    • 하기
      2010.04.16 17:47
      RS232C통신을 이용하시면 된다고 하는거 같던데요...
    • 지나가는이
      2010.04.16 21:57
      232통신을 이용하면 read이벤트에서 읽은값이 string으로 넘어오니까. 커서위치하고는 상관이 없고 p...
    • 멋쟁이
      2010.04.16 23:02
      타이머에서 주기적으로 커서를 옮겨주는건 어떤가요?
    • 황재훈
      2010.04.17 02:59
      usb용 핸드스캐너는 그냥 바코드를 읽으면 수치로 표시됩니다 문자나 숫자를 입력할수 있는 곳이면 어디...
    • 델초
      2010.04.17 03:16
      위에 분도 말씀하셨지만 바코드 스케너를 시리얼 통신 방식(RS232C) 의 장비를 사용하셔야 합니다. ...
    • 땅콩맨
      2010.04.17 06:37
      델초님 말씀대로 RS232 방식에서 처리되는 핸드스캐너 프로그래밍방법을 찾아보면서 질문하신 문제가 R...
    • • • •
    • Conan
    • 2010.04.16 10:51
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 땅콩맨
      2010.04.16 10:32
      폼에 Acrobat ActiveX Control을 올려놓고 unit Unit1; interface uses Windows, Messages, S...
    • 신차돌
    • 2010.04.16 08:51
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이정욱
      2010.04.16 06:50
      프로젝트의 형태를 DLL 로 만드신것 아닌지요? EXE 로 하셔야 그냥 실행 됩니다. 그리고 윈도우 7이신...
    • 김재훈
      2010.04.16 07:25
      저의 경우 윈도우 7에서 델파이7과 2007을 사용중인데 델파이 7은 에러가 간혹 생기곤 하는데 2007은 괜...
    • 윤성철
      2010.04.16 08:03
      두분 답변 감사드립니다. 많은 도움이 되었습니다. ^^
    • 델파이2
    • 2010.04.16 01:21
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 우용우
      2010.04.16 20:25
      델파이 코딩인지 패스트리포트 코딩인지 정확히 하셔야 하겠지만 일단 패스트리포트 코딩이라고 가정...
    • cos
    • 2010.04.16 07:15
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이길남
      2010.04.16 18:21
      OnDrawColumnCell 이벤트를 사용하시면 될꼬 같습니다. 물론, DefaultDrawing는 False로 해주시고요.
    • 김정원
      2010.04.16 18:51
      DBGrid에서 DrawDataCell 이벤트에 Canvas에서 컬러를 바꾸고 DBGRID.DefaultDrawDataCell() 에서 바꿔주...
    • 임우식
      2010.04.20 03:42
      아 감사합니다.^^ 해결되었습니다.
    • 이민규
    • 2010.04.14 02:48
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 최용일
      2010.04.14 08:21
      Multicast서비스를 하는것 같지 않은데 왜 Server컴포넌트를 쓰시는지요? 단말쪽에서는 IdIPMCastClient...
    • 이민규
      2010.04.14 21:42
      조언 감사합니다. 송신쪽에서는 데이터를 계속 보내는데 수신쪽 수정을 담당한 제가 처리가 늦어 데이...
    • 최용일
      2010.04.15 00:06
      VLC를 이용해서 먼저 테스트해보세요. IGMP버전등을 확인해보시구요. http://www.videolan.org/vlc/down...
    • 이민규
      2010.04.16 19:08
      감사합니다....IdIPMCastClient를 이용하고 네트워크 팀과 이것저것 확인하다보니.. 해결되었습니다.......
    • 얼씨구
    • 2010.04.14 02:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 땅콩맨
      2010.04.14 07:05
      TComport 컴포넌트를 사용해보세요. <!--CodeS--> procedure TF_bs10.ComPort1RxChar(Sender: ...
    • 땅콩맨
      2010.04.14 06:45
      폼의 속성중에서 DoubleBuffered속성을 True로 바꿔보시길~
    • 화담선생
      2010.04.15 01:20
      물론.... 바꾸어 봤습니다.... Form 이건 Panel 이건......
    • 땅콩맨
      2010.04.15 07:06
      WM_ERASEBKGND 메시지나 DoubleBuffered 속성때문인것 같은데 왜 그럴지... 흠...