SpyWorks Professional 관련 정보

한 번에 모든 애플리케이션 또는 전체 시스템을 위한 저레벨 메시지 스트림을 가로챕니다(intercept).

SpyWorks는 ActiveX 컴포넌트로, Visual Basic 5.0/6.0용 핵심 고급 프로그래밍 툴을 필요로 하는 개발자용입니다. SpyWorks가 VB가 숨긴 기본 Windows 시스템의 기본 작동을 보여주기 때문에, API 함수, ActiveX Extensions, Desaware API 클래스 라이브러리 등의 모든 Windows 기능을 이용할 수 있습니다.

V7.1의 새로운 기능

SpyWorks Windows Hook 컨트롤 및 Desaware.SpyWorks.WinHook 컴포넌트가 지원하는 3가지 새로운 후크 유형을 제공합니다. 이 유형들은 NT 4.0 SP 3(또는 4)으로 시작하는 Windows NT OS에 추가되었습니다. Windows 95/98/ME에서는 작동하지 않습니다.

저수준 키보드 후크를 이용하면 "표준" 키보드 후크는 탐지하지 못하는 시스템 키 조합을 탐지할 수 있습니다. 과거에는 SpyWorks에 다른 메소드(하위 클래스 및 API 함수 조합)를 사용한 키 탐지 방법을 보여주는 샘플이 있었지만, 이제는 Winhook 컨트롤을 이용해 직접 쉽게 처리할 수 있습니다.

저수준 마우스 후크를 이용하면 전체 시스템용 마우스를 탐지할 수 있는데, 이 후크는 표준 마우스 후크와 매우 비슷하지만 몇 가지 추가 정보를 담고 있고 더 빨리 후크됩니다.

Foreground Idle 후크는 응용 프로그램의 스레드가 유휴 상태에 접어들려는 순간을 탐지합니다. 이 후크를 이용해 우선순위가 낮은 백그라운드 연산의 시작을 신호할 수 있습니다.

V7.0의 새로운 기능

  • .NET Primary InterOp 어셈블리를 포함한 Visual Studio .NET의 최종 릴리즈를 지원하는 SpyWorks 후크 및 하위 클래스 컨트롤의 업데이트 버전을 제공합니다.
  • Visual Studio .NET 어셈블리의 함수 내보내기 지원
  • 이 업데이트에는 다음과 같은 다양한 예제가 포함됩니다:
  • Visual Basic .NET 및 C# 모두를 가진 하위 클래스 및 후크를 사용합니다. 하위 클래싱은 in-process 및 cross-task 모두로 작업합니다. 후크 지원은 스레드, 응용 프로그램 또는 시스템급 기반으로 제공됩니다. 키보드 후크도 제공됩니다.
  • 특별 마샬링이 필요한 매개변수를 이용하는 많은 응용 프로그램을 포함한 .NET 응용 프로그램의 API 함수 내보내기 호출 방법
  • 작업간 하위 클래스
  • 마우스 및 키보드 동작에 대한 시스템급 모니터링
  • 시스템급 창 식별(마우스 이용)이나 창 열거(프로그램식)
  • 메시지 상자나 공통 대화 상자 등 새로 생성된 창 탐지
  • 다른 프로세스의 일부를 이루는 텍스트 상자나 리치 텍스트 컨트롤의 텍스트 검색
  • 작업을 포그라운드로 설정하는 방법(활성 응용 프로그램이 아닌 경우에도 가능)
  • .NET 프레임워크를 이용한 프로세스 내 하위 클래스 방법
  • NT Service Toolkit(Light Edition) 버전 1.1의 업데이트 버전

V6.3의 새로운 기능

이것은 Visual Studio.NET Beta 2와 호환되는 첫 번째 SpyWorks 버전입니다.새로운 기능은 다음과 같습니다.

Visual Basic .NET 및 C# 모두를 가진 하위 클래스 및 후크를 사용하는 예제. 하위 클래싱은 in-process 및 cross-task 모두로 작업합니다. 후크 지원은 스레드, 응용 프로그램 또는 시스템급 기반으로 제공됩니다. 키보드 후크도 제공됩니다.

예를 들면 다음과 같습니다.

  • 작업간 하위 클래스
  • 마우스 및 키보드 동작에 대한 시스템급 모니터링
  • 시스템급 창 식별(마우스 이용)이나 창 열거(프로그램식)
  • 다른 프로세스의 일부를 이루는 텍스트 상자나 리치 텍스트 컨트롤의 텍스트 검색
  • 작업을 포그라운드로 설정하는 방법(활성 응용 프로그램이 아닌 경우에도 가능)
  • .NET 프레임워크를 이용한 프로세스 내 하위 클래스 방법
  • .NET 응용 프로그램에서의 호출 함수 예제. 이 함수를 Desaware의 Dynamic Export Technology을 사용하여 내보냈을 경우.
  • NT Service Toolkit(Light Edition) 버전 1.1의 업데이트 버전
  • Desaware Winsock 컴포넌트에 추가된 Proxy 지원

기능:

  • 함수 내보내기 - SpyWorks는 ActiveX DLL을 만들어 Visual Basic의 함수를 내보내는 Dynamic Export Technology을 선도합니다. Desaware의 Dynamic Export Technology은 컴파일한 DLL을 수정하지 않고 특별 확장 DLL을 이용해 함수를 내보냅니다! Visual Basic 5.0 및 6.0을 이용하면 함수 내보내기 라이브러리 및 Control Panel Applet/Extension을 만들 수 있습니다.
  • 소스 코드를 갖춘 In-Process Subclasser - SpyWorks 6에는 사용자 정의 창의 하위 클래스, 후크 및 관리용 DLL을 생성하는 Visual Basic이 포함됩니다. 이런 기술들을 통해 Visual Basic은 기본 Windows 성능을 모두 활용할 수 있습니다. 이 컴포넌트는 저수준 메시지 필터링, 하위클래스 루틴 공유, 이전 바인딩의 최대 활용을 통해 우수한 성능을 지닙니다. 완전한 Visual Basic 소스 코드도 포함됩니다.
  • ActiveX Extension - ActiveX는 활성 인터페이스이며, SpyWorks 6은 컴포넌트 생성 Visual Basic의 일부를 구성하는 인터페이스의 비헤이비어를 오버라이드할 수 있습니다. 예를 들면 다음과 같습니다. 웹 페이지에서 사용하는 ActiveX 컨트롤의 안전 마킹을 완전 컨트롤하는 IobjectSafety와 같은 새로운 표준 인터페이스(특히 Visual Basic과 호환되지 않는 표준 인터페이스)를 컴포넌트에 추가하는 것도 가능합니다.
  • "cross-task" 하위 클래스 - 시스템의 다른 응용 프로그램용 메시지를 인터셉트하는 기능. Cross task 기능은 Microsoft Windows 95 및 Microsoft Windows NT에서 지원됩니다. 이 기술을 이용하면 Visual Basic으로 다른 응용 프로그램용 애드온을 생성할 수 있습니다..
  • Dweasy 사용자 정의 컨트롤 - Visual Basic 폼이나 컨트롤의 크기를 바꾸거나 새로운 버튼을 추가해서 그 캡션을 사용자 정의할 수 있습니다. 이를 통해 가상 폼 또는 컨테이너를 생성하거나, 폼 및 컨트롤을 롤업 창으로 변환시킬 수 있습니다.
  • 마우스 추적 - 응용 프로그램의 컨트롤을 출입하는 마우스 탐지 및 가상 폼 지원 기능. 응용 프로그램의 외관 및 Windows 95 호환성을 개선시키는 표준 시스템급 이벤트도 탐지합니다.
  • 파일 드래그 앤 드롭 및 Windows 바로가기 자동 지원 - 이제 Visual Basic에 포함된 것 중 자기가 정한 폼으로 바로가기를 만들 수 있습니다.
  • API 함수 - SpyWorks에는 보통 Visual Basic에서는 액세스할 수 없는 Windows 기반 응용 프로그램 프로그래밍 인터페이스(API) 함수로의 효율적인 액세스 툴이 포함됩니다. 다음을 포함합니다.
  • 사용자 정의 유형 패킹 함수 - Visual Basic은 사용자 정의 유형을 DLL로 전달할 때, 하나의 바이트로 패킹한 데이터는 지원하지 않습니다. 이 때문에 Visual Basic의 일부 API 구조는 올바르게 정의하기가 어렵습니다. SpyWorks Professional의 새로운 UDT 패킹 함수는 사용자 정의 유형을 쉽게 패킹 및 언패킹할 수 있습니다.
  • Desaware API Class Library - Visual Basic 및 VBA의 Windows API 기반 응용 프로그램의 모든 성능을 이용할 수 있는 강력한 새로운 방법. Desaware API Class Library에는 완전한 Visual Basic 소스 코드가 포함되며, 클래스를 응용 프로그램에 통합하거나 인라인 코드를 프로그램에 직접 추가하면 단독 API 객체 라이브러리로 사용할 수도 있습니다.
  • API 호출 간접 지원 - 이제 선언문에 DLL명을 어렵게 코딩하지 않고 VB에서 API 함수를 호출할 수 있습니다. DLL 이름 및 함수 이름 모두 런타임 시 지정해서 COM 컴포넌트의 등록 및 등록 해제와 같은 일반 작업을 쉽게 수행할 수 있습니다.
  • SMTP 컴포넌트 - 이 새로운 컴포넌트를 현행 SpyWorks Winsock 컴포넌트에 추가하면 응용 프로그램에서의 전자 메일 전송이 쉬워집니다. 이 컴포넌트는 원래 Visual Basic IIS 응용 프로그램 및 ASP 페이지에서의 전자 메일 전송용이었습니다.
  • dwEasy36.ocx용 MouseWheel 지원 - dwEasy 컨트롤을 이용하면 마우스의 MouseWheel을 직접 모니터링하거나, 가상 폼에서 실행되는 스크롤링 기능을 갖추고 있을 때는 MouseWheel이 창을 자동 스크롤할 수 있습니다.
  • 동적 로딩 강화 - Visual Basic 6은 ActiveX 컨트롤의 동적 로딩을 지원합니다. 이 업데이트는 동적 로딩을 지원하기 위한 것입니다. 예를 들어 이제 dwEasy36.ocx가 런타임시 놓이는 폼과 올바르게 상호작용할 수 있게 되었습니다.
  • IviewObject 인터페이스 지원 - SpyWorks ActiveX 확장 컴포넌트를 이용하면 IviewObject 인터페이스를 오버라이드해서, Visual Basic 내에서 ActiveX 표준에 따라 올바르게 크기 조정 및 인쇄하는 ActiveX 컨트롤을 생성할 수 있습니다. 눈에 보이지 않는 컨트롤의 그래픽을 인쇄하거나 표시할 수도 있습니다.
  • API 입력 지점 검색 유틸리티 - DLL에 특정 API 함수가 들어 있는지, 또는 함수명에 접미사 'A'나 'W'를 사용해야 하는지 여부를 알아내지 못해서 고생했던 적은 없습니까? 새로운 API 입력 지점 검색 유틸리티는 DLL의 API 함수를 표시 또는 찾아내거나, 시스템의 전체 디렉토리를 검색해 함수를 찾아낼 수 있습니다.
  • NT Service 지원 강화 - 스레드 동기화가 개선된 폼의 NT 서비스 클래스를 개선시켜 NT 서비스 솔루션의 안정성 및 신뢰성을 높였습니다.
  • 샘플 프로그램의 상호 참조 개선 - 온라인 도움말 시스템에 대부분 샘플 프로젝트에 대한 상호 참조가 포함되어 있어서, 특정 솔루션이나 보기를 쉽게 찾아볼 수 있습니다.