2013년 12월 23일 월요일

[미완] IsIconic() 함수

[미완] IsIconic() 함수

윈도우가 최소화인지 아니지 판단하는 함수

리턴값
최소화=TRUE
활성화=FALSE

활용
1. 최소화되었을때 어떤 처리를 해야할때
2. 최소화일때 화면 출력 차단
   ex) WM_PAINT에서 최소화 되었을때 화면을 그릴 필요가 없다
   case WM_PAINT
      if( FASLE == IsIconic( hWnd ) ) // 활성화면
      {
         // 화면 출력 소스
      }
     break;

[미완] Internet Explorer 구글 인증서 오류로 인하여 접속 안될때

[미완] Internet Explorer 구글 인증서 오류로 인하여 접속 안될때

윈도우의 날짜가 안맞아서 그렇수 있을니
날짜를 오늘날짜로 셋팅

2013년 12월 18일 수요일

[Win32/MFC] "", L"", TEXT(""), _T("") 차이점

Visual C++에서 문자 처리는 2가지가 있다.
"멀티바이트"와 "유니코드"다.
(C#은 유니코드만 있는걸로 알고 있음)

멀티바이트(MBCS=Multi Byte Character Set): 영어는 1바이트, 그 외 문자는 2바이트로 처리.
유니코드(WBCS=Wide Byte Character Set): 모든 문자를 2바이트로 처리.(참고로 GCC는 4바이트로 처리)

그래서 Visual Studio에서 프로젝트 속성을
멀티바이트로 하면 "" 이렇게 문자를 입력하고
유니코드로 하면 L"" 이렇게 문자를 입력해야 한다.
ex)
멀티바이트일때 MessageBox( NULL, "a", "b", MB_OK );
유니코드일때    MessageBox( NULL, L"a", L"b", MB_OK );

근데 유니코드로 설정 후 개발 했다가
멀티바이트로 변경 해야될때(외부 라이브러리와의 호환성 등)
L"" 이렇게 입력한 부분을 모두 찾아서
"" 이렇게 변경을 해줘야 한다.(완전 노가다)

그래서 TEXT("")와 _T("")를 #define 했다.
ex)
MessageBox( NULL, TEXT("a"), TEXT("b"), MB_OK );
이렇게 입력을 하면
멀티바이트일때 MessageBox( NULL, "a", "b", MB_OK );
유니코드일때    MessageBox( NULL, L"a", L"b", MB_OK );
이렇게 변환이 되어서 컴파일 된다.

TEXT("")과 _T("")의 차이점은
TEXT("")는 WinNT.h에서 #define했고
_T("")는 tchar.h에서 TEXT가 4글자라서 _T이렇게 2글자로 #define했다.

즉 Win32에서는 TEXT("")를 쓰고 MFC에서는 _T("")를 사용한다.
Win32에서 _T("")를 사용하고 싶으면 tchar.h를 추가하면 되고
MFC에서는 당연히 TEXT("")도 사용 가능하다.

--- 결론
윈도우즈 프로그램 개발시
문자를 "" 또는 L"" 이렇게 입력하지 말고
TEXT("") 또는 _T("") 이렇게 입력하자.

[미완] 네트워크 정보 추출 함수

MSDN에 있는 내용임

#include <winsock2.h>
#include <iphlpapi.h>
#include <stdio.h>
#include <stdlib.h>
#pragma comment(lib, "IPHLPAPI.lib")

#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))

/* Note: could also use malloc() and free() */

int __cdecl main()
{
char acMacAddr[100];
char acIpAddr[100];

bool b = GetNetworkInfo( acMacAddr, acIpAddr );
/* Declare and initialize variables */

// It is possible for an adapter to have multiple
// IPv4 addresses, gateways, and secondary WINS servers
// assigned to the adapter.
//
// Note that this sample code only prints out the
// first entry for the IP address/mask, and gateway, and
// the primary and secondary WINS server for each adapter.

PIP_ADAPTER_INFO pAdapterInfo;
PIP_ADAPTER_INFO pAdapter = NULL;
DWORD dwRetVal = 0;
UINT i;

/* variables used to print DHCP time info */
struct tm newtime;
char buffer[32];
errno_t error;

ULONG ulOutBufLen = sizeof (IP_ADAPTER_INFO);
pAdapterInfo = (IP_ADAPTER_INFO *) MALLOC(sizeof (IP_ADAPTER_INFO));
if (pAdapterInfo == NULL) {
printf("Error allocating memory needed to call GetAdaptersinfo\n");
return 1;
}
// Make an initial call to GetAdaptersInfo to get
// the necessary size into the ulOutBufLen variable
if (GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW) {
FREE(pAdapterInfo);
pAdapterInfo = (IP_ADAPTER_INFO *) MALLOC(ulOutBufLen);
if (pAdapterInfo == NULL) {
printf("Error allocating memory needed to call GetAdaptersinfo\n");
return 1;
}
}

if ((dwRetVal = GetAdaptersInfo(pAdapterInfo, &ulOutBufLen)) == NO_ERROR) {
pAdapter = pAdapterInfo;
while (pAdapter) {
printf("\tComboIndex: \t%d\n", pAdapter->ComboIndex);
printf("\tAdapter Name: \t%s\n", pAdapter->AdapterName);
printf("\tAdapter Desc: \t%s\n", pAdapter->Description);
printf("\tAdapter Addr: \t");
for (i = 0; i < pAdapter->AddressLength; i++) {
if (i == (pAdapter->AddressLength - 1))
printf("%.2X\n", (int) pAdapter->Address[i]);
else
printf("%.2X-", (int) pAdapter->Address[i]);
}
printf("\tIndex: \t%d\n", pAdapter->Index);
printf("\tType: \t");
switch (pAdapter->Type) {
case MIB_IF_TYPE_OTHER:
printf("Other\n");
break;
case MIB_IF_TYPE_ETHERNET:
printf("Ethernet\n");
break;
case MIB_IF_TYPE_TOKENRING:
printf("Token Ring\n");
break;
case MIB_IF_TYPE_FDDI:
printf("FDDI\n");
break;
case MIB_IF_TYPE_PPP:
printf("PPP\n");
break;
case MIB_IF_TYPE_LOOPBACK:
printf("Lookback\n");
break;
case MIB_IF_TYPE_SLIP:
printf("Slip\n");
break;
default:
printf("Unknown type %ld\n", pAdapter->Type);
break;
}

printf("\tIP Address: \t%s\n",
pAdapter->IpAddressList.IpAddress.String);
printf("\tIP Mask: \t%s\n", pAdapter->IpAddressList.IpMask.String);

printf("\tGateway: \t%s\n", pAdapter->GatewayList.IpAddress.String);
printf("\t***\n");

if (pAdapter->DhcpEnabled) {
printf("\tDHCP Enabled: Yes\n");
printf("\t  DHCP Server: \t%s\n",
pAdapter->DhcpServer.IpAddress.String);

printf("\t  Lease Obtained: ");
/* Display local time */
error = _localtime32_s(&newtime, (__time32_t*) &pAdapter->LeaseObtained);
if (error)
printf("Invalid Argument to _localtime32_s\n");
else {
// Convert to an ASCII representation
error = asctime_s(buffer, 32, &newtime);
if (error)
printf("Invalid Argument to asctime_s\n");
else
/* asctime_s returns the string terminated by \n\0 */
printf("%s", buffer);
}

printf("\t  Lease Expires:  ");
error = _localtime32_s(&newtime, (__time32_t*) &pAdapter->LeaseExpires);
if (error)
printf("Invalid Argument to _localtime32_s\n");
else {
// Convert to an ASCII representation
error = asctime_s(buffer, 32, &newtime);
if (error)
printf("Invalid Argument to asctime_s\n");
else
/* asctime_s returns the string terminated by \n\0 */
printf("%s", buffer);
}
} else
printf("\tDHCP Enabled: No\n");

if (pAdapter->HaveWins) {
printf("\tHave Wins: Yes\n");
printf("\t  Primary Wins Server:    %s\n",
pAdapter->PrimaryWinsServer.IpAddress.String);
printf("\t  Secondary Wins Server:  %s\n",
pAdapter->SecondaryWinsServer.IpAddress.String);
} else
printf("\tHave Wins: No\n");
pAdapter = pAdapter->Next;
printf("\n");
}
} else {
printf("GetAdaptersInfo failed with error: %d\n", dwRetVal);

}
if (pAdapterInfo)
FREE(pAdapterInfo);

return 0;
}

2013년 12월 12일 목요일

[미완] 인터넷 사이트 연결 확인

인터넷 사이트 연결 확인

BOOL InternetCheckConnection( "사이트이름", FLAG_ICC_FORCE_CONNECTION, 0 );

접속성공하면 TRUE
접속안되면 FALSE
-> 외부인터넷 연결 확인시 사용 할 수 있을듯
주의: 사이트이름입력시 앞에 "http://"를 꼭 붙여야 함.

// 사용 예
#include <Windows.h>
#include <WinInet.h>
#pragma comment (lib, "wininet.lib")

BOOL CheckInternetSite( TCHAR* pstrSiteName )
{
return InternetCheckConnection( pstrSiteName, FLAG_ICC_FORCE_CONNECTION, 0 );
}

int main( void )
{
BOOL BRet = CheckInternetSite( TEXT("http://www.google.com") );

        if ( FALSE == BRet )
       {
            // 사이트 연결 실패
        }

return 0;
}

[미완] IPHlpApi.h 추가 했는데도 PMIB_ICMP_EX 에러 발생

[미완] IPHlpApi.h 추가 했는데도 PMIB_ICMP_EX 에러 발생

네트워크 정보를 추출하기 위해서 소스에

#include <IPHlpApi.h>
#pragma comment( lib, "iphlpapi.lib" )

추가해도
PMIB_ICMP_EX 에러가 발생한다.

해결
C:\Program Files\Microsoft SDK\include 에 있는 Iprtrmib.h 파일을
C:\Program Files\Microsoft Visual Studio\VC98\Include 에 덮어쓴다.

2013년 12월 7일 토요일

[미완] 디버그 모드에서만 실행

#if _DEBUG
   // 이곳에 디버그때만 처리하고 싶은 로직 추가
#endif

보통 설정에 보면 _DEBUG가 Debug에 등록이 되어 있고
Release에는 등록이 안되어 있다.

실제 사용 예는
프로그램 시작시 로그인해서 들어가는 프로그램 같은 경우
매번 테스트 할때마다 ID/PW를 입력해야 하는데

위에 코드에다가 로그인하는 루틴을 넣으면
디버그때 일일이 입력할 필요가 없고

릴리즈때는 입력을 해야한다

2013년 12월 5일 목요일

[미완] 다이어로그에서 Static 클릭 이벤트 발생할려면

[미완] 다이어로그에서 Static 클릭 이벤트 발생할려면

Static 클릭시 WM_COMMAND 발생하려면
Static의 Styles에서 Notify 체크

[미완] Visual Studio F5, Ctrl+F5 차이점

[미완] Visual Studio F5 Vs. Ctrl+F5 차이점

F5는 VS가 붙어서 실행되고
Ctrl+F5는 독립적으로 실행된다고 한다.

간단히 얘기해서
브레이크 포인트(F9)는
F5에서는 걸리고
Ctrl+F5에서는 안걸린다.

2013년 12월 4일 수요일

[미완] CEdit 멀티라인 출력

[미완] CEdit 멀티라인 출력

Multiline 체크하면 되는데도 안되면
\n 말고 \r\n 입력해주세요

2013년 12월 3일 화요일

[미완] CString -> int 변환

[미완] CString -> int 변환

CString str = "1";
int n = _ttoi(str);

[미완] SendMessage() Vs. PostMessage()

[미완] SendMessage() Vs. PostMessage()

둘다 윈도우에 메시지를 보네는데
차이점은 SendMessage는 즉시 처리이고
PostMessage는 메시지큐에 대입해서
먼저 들어온 메시지들을 처리하고나서 PostMessage를 처리한다

2013년 12월 2일 월요일

[미완] CString -> char*로 변환

CString CStringTemp;
CStringTemp = "Test";

char* pchTemp = LPSTR(LPCTSTR(CStringTemp));

2013년 11월 29일 금요일

[미완] MFC 다이어로그 타이틀 변경

분류 > C++, MFC

다이어로그의 타이틀변경

다이어로그에서
SetWindowText("타이틀변경");

만일 자식 다이어로그이면 부모 Dlg의 핸들을 구해서 출력
CWnd* pCWnd = this->GetParent();

pCWnd->SetWindowText("Face Secure Manager - 사용자이미지관리");


2013년 11월 26일 화요일

[미완] 메일 서명에 이미지 링크 추가

서명에 이미지 링크 추가시 이미지주소라는 HTML 태크를 추가하면 됩니다.

<img src="이미지 주소">


예) 네이버 앱 이미지
<img src="http://img.naver.net/static/www/dl_qr_naver.png">

2013년 11월 24일 일요일

[미완] Foxit Reader

분류 > IT > 프로그램

Foxit(팍스잇) Reader: PDF 뷰어
http://www.foxitsoftware.com/kr/

Adobe Reader > Foxit Reader

PDF는 Adobe사에서 나온 포맷이라서
Adobe의 PDF뷰어인 Adobe Reader를 사용했다.

하지만 버전 업이 되면서 점점 느려지고 있다.

나는 단지 보기만 하면 된다.
수정이나 추가작업 같은것은 필요가 없다.

그래서 다른 PDF뷰어를 찾아보다가
Foxit Reader를 알게 되었고
현재 사용중인데 만족하고 있다.

그리고 회사에서도 무료다.
http://www.foxitsoftware.com/kr/support/qna.php?action=detail&id=283


2013년 11월 22일 금요일

[미완] Gmail 필터 설정 - 여러개

IT > etc

GMail > 환경설정 > 필터 > 새 필터 만들기 에서
보낸사람에 이메일을 입력하고 필터 설정을 하면됩니다.

근데 여러 이메일을 동일한 필터로 설정시
이메일 사이에 OR을 입력하면 됩니다.

예) 1@gmail.com OR 2@gmail.com OR ....

2013년 11월 17일 일요일

[미완] 지메일(GMail)에 구글캘린더 추가

분류 > 기타

지메일에 구글캘린더 추가하는 방법



지메일 > 환경설정 > 실험실 > Google 캘린더 가제  "사용" 선택

2013년 11월 10일 일요일

[미완] KS7 모임 2013년 11월

일시: 2013년 11월 9일 (토)
참석: 배중선, 박상준, 박주오, 한진혁, 이재기, 나 외 3명

1차 숙대 후라이팬: 73,000원
2차 횟집: 재기가 계산

2013년 11월 7일 목요일

[미완] SMPlayer 설정 초기화

분류 > 유틸


"도움말 > Open configuration folder" 클릭하면
설정파일이 있는 윈도우창 출력
여기에 있는 파일들을 삭제하면 됨

주의
삭제하기 전에 SMPlayer을 종료 후 설정파일들을 삭제하세요.

2013년 9월 29일 일요일

[미완] [미국드라마] 브레이킹 배드 (Breaking Bad)

분류 > 미국드라마

브레이킹 배드 (Breaking Bad)




Season 1 (2008) - 7부작
Season 2 (2009) - 13부작
Season 3 (2010) - 13부작
Season 4 (2011) - 13부작
Season 5 (2012~2013) - 16부작 [Season Final] - 방영중

시청: 시즌 2까지 봄

[ 줄거리 ]
 폐암 말기 판정은 받은 고등학교 화학교사 "월터 화이트"가 자신이 죽으면 남겨진 가족을(돈을 벌기) 위해 마약을 제조 한다는 이야기

----------
 이 드라마를 본게 된 계기는 65회 에미상(2013) 드라마 최우수 작품상(시즌5) 수상했다고 해서 보게되었다.

 시즌 1 - 1회는 잼있었다. 하지만 그 이후부터는 암을 받아드리는 가족 그리고 어쩔수 없이 가족을 위해 마약을 제조하는 과정들 그래서 전체적으로 범죄드라마라기 보다는 (장르)드라마인것 같다.
 시즌 2 - 많은 에피소드가 흑백화면으로 오프닝을 하는데 이 흑백화면 상황은 Season Finale때 나오는데 많은 기대를 했는데 전혀 예상을 못한 상황이다 못해 어의가 없고 허무하다.

 주인공들이 교사에다가 양아치 수준의 마약판매책이다보니 총도 다루줄 모른다.
나는 주인공이 점점 마약왕이 될 줄 알았는데...

---------
 액션이나 긴박한 사항 전계보다는 가족 중심의 드라마 같다.
 에미상을 받은 시즌 5까지 봐야 하나 고민이다.

2013년 7월 26일 금요일

[미완] C++에서 Private 멤버변수 직접 접근

분류 > C++

class Data
{
   int nYear;
   int nMonth;
   int nDay;
}

int main( void )
{
   Data cData;
   int* ptr;

   ptr = (int*)&cData;
   cout << "Year = " << *ptr << ", Month = " << *(ptr+1) << ", Day = " << *(ptr+2) << endl;

   return 0;
}

[미완] 2013년 여름 여행

분류 > 개인, KS7, 여행

날짜: 2013.07.21 (일)
이재기, 배중선, 박상준, 임춘재, 나 그리고 3명

송추계곡 우리집: 171,000원
배스킨라빈스: 31,600원
티아모: 10,100원
일산MK볼링장: 72,000원
로빈의 숲: 312,500원

총: 597,200원

이재기 - 15만원 납부
나머지 - 447,200원

송추계곡 우리집 - 음식이 별로
로빈의 숲 - 나에게는 부담인 곳

2013년 6월 16일 일요일

[미완] 친구들 모임 (2013.06.15 (토)

분류 > 개인, 모임

KS7 모임

박주오, 박상준, 이재기, 임춘재, 한진혁, 배중선, 나 외 한명

1차 백정
2차 재기 오피스텔
3차 잇쇼

백정: 60,000원
보쌈: 62,000원
마트: 45,800원
치킨: 15,000원
잇쇼: 45,000원

총: 227,800원

2013년 6월 3일 월요일

[미완] C# main 인자값 추출

분류 > c#

static int Main(string[] args)
{
   // 1.
   for(int i = 0; i < args.Length; i++)
      Console.WriteLine("Arg: {0}", args[i]);

   // 2.
   foreach(string arg in args)
      console.WriteLine("Arg: {0}", arg);

   // 3.
   string[] theArgs = Environment.GetCommandLineArgs();
   foreach(string arg in theArgs)
      Console.WriteLine("Arg: {0}", arg);

   return 0;
}

2013년 5월 31일 금요일

[미완] csc.exe를 사용해서 c#작성

분류 > c#, .Net

Visual Studio 명령 프롬프트
csc -?
(csd=C-Sharp Compiler)

메모장으로 c#코드 작성

Visual Studio 명령 프롬프트 실행
명령 프롬프트에
csc /target:exe C#파일명.cs
csc /t:exe C#파일명.cs
csc C#파일명.cs

그럼 같은 폴더에 C#파일명.exe생성됨

원칙은 dll을 지정(여러개는;로 추가)해야하지만
csc가 자동으로 등록됨

여러 .cs파일 명시
하지만 *.cs하면 폴더에 있는 모든 .cs파일 컴파일


설정들은 .rsp로
.rsp
# 외부 어셈블리 참조
/r:system.Windows.Forms.dll
#출력 형식 및 컴파일할 파일
/target:exe /out:TestApp.exe *.cs

csc @Testapp.rsp

c#컴파일러는 csc.exe 파일이 있는 디렉터리에 기본 응답파일(csc.rsp)을 갖고 있었서
그냥 csc *.cs도 된다

2013년 5월 24일 금요일

2013년 5월 1일 수요일

[미완] using 정렬

분류 > c#, vs

참조
http://weblogs.asp.net/dfindley/archive/2007/02/07/vs-net-macro-to-group-and-sort-your-using-statements.aspx


Imports System
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports System.Collections.Generic
Imports System.Text
Imports System.Text.RegularExpressions

Public Module SortUsing

    Dim _usingPattern As Regex = New Regex( _
        "\s*(?<using>using\s*(?<group>\w+)[^;]*);", _
        RegexOptions.IgnoreCase _
        Or RegexOptions.Multiline _
        Or RegexOptions.ExplicitCapture _
        Or RegexOptions.CultureInvariant _
        Or RegexOptions.Compiled _
    )

    Public Sub SortUsing()
        If Not DTE.ActiveDocument Is Nothing Then
            Dim sel As TextSelection = DTE.ActiveDocument.Selection

            If sel.Text.Contains(vbCrLf) Then
                If sel.ActivePoint Is sel.BottomPoint Then sel.SwapAnchor()
                sel.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn, True)
                sel.SwapAnchor()
                sel.EndOfLine(True)

                Dim groups As New SortedList(Of String, List(Of String))()
                For Each match As Match In _usingPattern.Matches(sel.Text)
                    Dim u As String = match.Groups("using").Value
                    Dim g As String = match.Groups("group").Value

                    ' System usings sort at the top
                    If g = "System" Then g = "_" + g

                    Dim list As List(Of String)
                    If Not groups.TryGetValue(g, list) Then
                        list = New List(Of String)()
                        groups.Add(g, list)
                    End If
                    list.Add(u)
                Next

                Dim builder As New StringBuilder()
                For Each group As KeyValuePair(Of String, List(Of String)) In groups
                    If builder.Length > 0 Then builder.AppendLine() ' 여기 주석치면 라인 없어짐
                    group.Value.Sort()
                    For Each line As String In group.Value
                        builder.Append(line)
                        builder.AppendLine(";")
                    Next
                Next

                sel.DeleteLeft()
                sel.Insert(builder.ToString())
            End If
        End If
    End Sub

End Module

[미완] 프로세스 종료 도스 명령어

분류 > 도스

taskkill

예) 메모장 종료
taskkill /f /im notepad.exe

2013년 4월 30일 화요일

[미완] vbs 줄바꿈

Dim strMessage
    strMessage = "Code:0" & vbCrLf & "Message:"

[미완] vbs try~catch

OnErrorResumeNext'=try
    Call Main()

If Err.Number <> 0Then'=catch
    Call ErrorMessage()
Else
    ' 여기는 Error 발생 안했을대
EndIf

Sub ErrorMessage
    Dim strErrMsg
    strErrMsg = Err.Description
    Set strErrMsg = Nothing
    Err.Clear
EndSub

2013년 4월 20일 토요일

[미완] VBS OS 구하기

분류 > vbs


Function GetOSVersion()

Dim objWMI, objItem, colItems
Dim VerOS, VerBig, Ver9x, Version9x, OS, OSystem

Set objWMI = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMI.ExecQuery("Select * from Win32_OperatingSystem", , 48)

For Each objItem in colItems

VerBig = Left(objItem.Version,3)

Next

Select Case VerBig

Case "6.1" GetOSVersion = "Win7"
Case "6.0" GetOSVersion = "Vista"
Case "5.2" GetOSVersion = "XP"
Case "5.1" GetOSVersion = "XP"
Case "5.0" GetOSVersion = "W2K"
Case "4.0" GetOSVersion = "NT 4.0**"
Case Else  GetOSVersion = "Unknown - probably Win 9x"

End Select

End Function

[미완] VBS 운영체제 Bit 정보 알아내기

분류 > VBS


Function GetOSBit()

const HKEY_LOCAL_MACHINE = &H80000002

Dim objReg, strKeyPath, strValueName, strValue
Set objReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv")
strKeyPath = "HARDWARE\DESCRIPTION\System\CentralProcessor\0"
strValueName = "Identifier"

Call objReg.GetStringValue(HKEY_LOCAL_MACHINE, strKeyPath, strValueName, strValue)

If (instr(strValue,"x86")) Then

GetOSBit = "32"

ElseIf (instr(strValue,"64")) Then

GetOSBit = "64"

Else

GetOSBit = "NotSure"

End If

End Function

[미완] c# MSScriptControl 추가

분류 > C#

MSCriptControl - Refernces 추가법

Add Reference > COM > Microsoft Script Control 1.0 추가

2013년 4월 19일 금요일

2013년 4월 16일 화요일

[미완] dll 레지스트리에 등록 및 삭제

분류

abc.dll을 등록 및 삭제할떼

등록: regsvr32 abc.dll
삭제: regsvr32 -u abd.dll

절대경로 또는 cmd로 폴더까지 이동 후 실행

[미완] cmd 창 최소로 실행

분류 > vbs, cmd

cmd 창을 출력 안하고 싶지만
그것은 안되고
다른 방법으로 cmd를 만들고
cmd 바로가기를 만든다.
그 후 cmd 바로가기 설정을 최소로 실행으로 설정

2013년 4월 15일 월요일

[미완] cmd에서 중간에 나오기

cmd에서 무한 루프나 실행 중에 중간에 나오고 싶을때
"ctrl + c" 클릭

2013년 4월 12일 금요일

[미완] vbs 로컬 컴퓨터의 실행중인 Process 정보(이름, 핸들, ID) 보기


' 로컬 컴퓨터의 실행중인 Process 정보(이름, 핸들, ID) 보기
Function Handle

WScript.Echo "Handle() Start"

Dim strComputer
strComputer = "." ' 점(.)은 WMI에서 로컬 컴퓨터와 같음

Dim wbemServices, wbemObjectSet, wbemObject
Set wbemServices = GetObject("winmgmts:\\" & strComputer)
Set wbemObjectSet = wbemServices.InstancesOf("Win32_Process")

For Each wbemObject in wbemObjectSet
WScript.Echo "Name: " & wbemObject.Name & vbCrLf & _
" Handle: " & wbemObject.Handle & vbCrLf & _
" Process ID: " & wbemObject.ProcessID 
Next

WScript.Echo "Handle() End"

End Function

[미완] vbs에서 실행한 프로그램 끝날때까지 기다려주기

분류 > vbs

vbs에서 실행한 프로그램 끝날때까지 기다려주기



Option Explicit '선언되지 않은 변수 사용시 에러 발생

WScript.Echo "Start"

Dim objShell
Set objShell = WScript.CreateObject("WSCript.shell")
Call objShell.Run("notepad" , 1, 1) 'Run()뒤에 숫자( , 1, 1)는 끝나기를 기다려줌

WScript.Echo "End"




2013년 4월 10일 수요일

[미완] Notepad++에서 VBScript 실행

분류 > Notepad++, VBScript

플러그인 > NppExec 설치
F6 > cscript.exe 및 파일위치 입력