'Windows'에 해당되는 글 62건
- 2007.11.20 ws FTP
- 2007.11.20 인쇄 관련 함수
- 2007.11.19 사용자 환경 설정 관련 .profile 에서 셋팅
- 2007.11.19 unix 사용자 추가 tip
- 2007.11.14 ASP+mySQL ODBC연결시 한글깨짐해결방법
- 2007.11.13 vxd 관련
- 2007.11.12 .reg 파일을 이용한 레지스트리 추가 삭제 편집
- 2007.11.12 Getting the System Version
- 2007.11.12 FireFox 플러그인
- 2007.11.08 ActiveX 사용 예제와 참고 사이트
먼저 EnumPrinters, PrintDlg, CreateDC 등을 이용해 프린터 DC를 얻구요...
BOOL EnumPrinters(DWORD Flags, LPTSTR Name, DWORD Level, LPBYTE PrinterEnum, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned);
BOOL PrintDlg(LPPRINTDLG);
HDC CreateDC(LPCTSTR,LPCTSTR,LPCTSTR,CONST DEVMODE*);
StartDoc 함수로 프린트를 시작합니다(실제로 프린트가 바로바로 되는 것이 아니라 스풀링이 되는 거죠).
int StartDoc(HDC,CONST DOCINFO*);
EndDoc 함수로 프린트를 끝냅니다.
int EndDoc(HDC);
이 StartDoc과 EndDoc 사이에 StartPage 함수와 EndPage 함수를 써서 각 페이지를 구분합니다.
int StartPage(HDC);
int EndPage(HDC);
예 :
HDC hPrintDC;
DOCINFO DocInfo;
......
......
//프린터 DC를 얻는다.
......
......
StartDoc(hPrintDC,&DocInfo);
StartPage(hPrintDC); //첫번째 페이지
MoveToEx(hPrintDC,30,30,NULL); //원점 30,30으로 이동
LineTo(hPrintDC,400,1000); //원점에서 400,1000으로 선을 긋는다.
EndPage(hPrintDC); //첫번째 페이지 끝
StartPage(hPrintDC); //두번째 페이지
MoveToEx(hPrintDC,70,65,NULL); //원점 70,65으로 이동
LineTo(hPrintDC,500,500); //원점에서 500,500으로 선을 긋는다.
EndPage(hPrintDC); //두번째 페이지 끝
EndDoc(hPrintDC);
unix 사용자 추가 tip
/etc/group 에서 그룹의 id를 확인한다.
/etc/passwd 에서 그룹 id를 변경 한다.
파일이나 그룹에 대한 유저나 그룹의 변경은
chown 으로 변경 한다.
ex) chown -R aitch:fps . 이렇게
ASP+mySQL ODBC연결시 한글깨짐해결방법
문제 : ODBC연결은 되나 데이타를 불러올때 한글이 ???로 찍힘
원인 : DB의 character가 Latin1로 데이타를 불러와서 문제 발생..
해결 : ODBC연결시 라인추가(아래소스참고)
참고 : mySQL5.0은 euckr로 표기 이전 버젼은 euc-kr 또는 euc_kr로 표기
--TEST START--
strcon = "DSN=myDSN;uid=아이디;pwd=비밀번호"
set DbCon = Server.CreateObject("ADODB.Connection")
DbCon.open strcon
DbCon.execute("set names euckr") '//<--- character 설정 추가 Line !!!
.reg 파일을 이용한 레지스트리 추가 삭제 편집
레지스트리 항목(.reg) 파일을 사용하여 레지스트리 하위 키 및 값을 추가, 수정 또는 삭제하는 방법
이 문서가 적용되는 제품 보기.
기술 자료 ID : 310516
마지막 검토 : 2005년 9월 16일 금요일
수정 : 4.0
이 문서는 이전에 다음 ID로 출판되었음: KR310516
이 페이지에서
요약
.reg 파일의 구문
레지스트리 하위 키 추가 또는 레지스트리 값 추가 및 변경
레지스트리 키 및 값 삭제
레지스트리 키 및 값 이름 변경
레지스트리 변경 내용 배포
요약
경고: 레지스트리 편집기를 잘못 사용하면 심각한 문제가 발생할 수 있으며 문제를 해결하기 위해 운영 체제를 다시 설치해야 할 수도 있습니다. Microsoft는 레지스트리 편집기를 잘못 사용함으로써 발생하는 문제에 대해 해결을 보증하지 않습니다. 레지스트리 편집기 사용에 따른 모든 책임은 사용자에게 있습니다.
이 문서에서는 등록 항목(.reg) 파일을 사용하여 레지스트리 하위 키와 값을 추가, 변경 또는 삭제하는 방법을 단계별로 설명합니다. Regedit.exe는 .reg 파일을 사용하여 레지스트리 하위 키와 값을 가져오거나 내보냅니다. .reg 파일을 사용하면 레지스트리 변경 내용을 원격에서 다수의 Windows 기반 컴퓨터에 배포할 수 있습니다. .reg 파일을 실행하면 해당 파일 내용이 로컬 레지스트리로 병합됩니다. 따라서 .reg 파일을 배포할 때는 주의해야 합니다.
위로 가기
.reg 파일의 구문
.reg 파일의 구문은 다음과 같습니다.
RegistryEditorVersion
Blank line
[RegistryPath1]
"DataItemName1"="DataType1:DataValue1"
DataItemName2"="DataType2:DataValue2"
Blank line
[RegistryPath2]
"DataItemName3"="DataType3:DataValue3"
여기에서
RegistryEditorVersion은 Windows 2000, Windows XP 및 Windows Server 2003용 "Windows 레지스트리 편집기 버전 5.00"이거나 Windows 98 및 Windows NT 4.0용 "REGEDIT4"입니다. "REGEDIT4" 헤더는 Windows 2000, Windows XP 및 Windows Server 2003 기반의 컴퓨터에서도 작동합니다.
Blank line은 빈 줄을 의미하며 새 레지스트리 경로의 시작 부분을 나타냅니다. 각 키 또는 하위 키는 새로운 레지스트리 경로입니다. .reg 파일에 키가 여러 개 있다면 blank line을 통해 내용을 검사하여 문제를 해결할 수 있습니다.
RegistryPathx는 가져오려는 첫 번째 값을 보유하고 있는 하위 키의 경로입니다. 경로는 대괄호로 묶어야 하며 각 계층은 백슬래시로 구분해야 합니다. 예를 들면 다음과 같습니다.
[HKEY_LOCAL_ MACHINE\SOFTWARE\Policies\Microsoft\Windows\System]
.reg 파일에는 여러 레지스트리 경로가 포함될 수 있습니다. 레지스트리에 경로 문장의 최하위 계층이 없으면 새로운 하위 키가 만들어집니다. 레지스트리 파일의 내용은 사용자가 입력하는 순서대로 레지스트리로 보내집니다. 따라서 다른 하위 키가 아래에 있는 새 하위 키를 생성하는 경우 줄을 정확한 순서대로 입력해야 합니다.
DataItemNamex는 가져올 데이터 항목의 이름입니다. 파일의 데이터 항목이 레지스트리에 없으면 .reg 파일에서 데이터 항목과 해당 항목 값을 추가합니다. 데이터 항목이 존재하면 .reg 파일의 값이 기존 값을 덮어씁니다. 데이터 항목의 이름은 인용 부호로 표시됩니다. 데이터 항목 이름 바로 다음에는 등호(=)가 옵니다.
DataTypex는 레지스트리 값의 데이터 형식이며 바로 다음에 등호가 붙습니다. REG_SZ(문자열 값)가 아닌 모든 데이터 형식 바로 다음에는 콜론이 붙습니다. 데이터 형식이 REG_SZ인 경우 데이터 형식 값이나 콜론을 집어넣지 않습니다. 이 경우 Regedit.exe는 데이터 형식을 REG_SZ로 간주합니다. 다음 표에서는 일반적인 레지스트리 데이터 형식을 보여 줍니다.
데이터 형식 .reg의 DataType
REG_BINARY 16진수
REG_DWORD dword
REG_EXPAND_SZ 16진수(2)
REG_MULTI_SZ 16진수(7)
레지스트리 데이터 형식에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
256986 (http://support.microsoft.com/kb/256986/) Microsoft Windows 레지스트리 설명
DataValuex는 콜론(REG_SZ의 경우 등호) 바로 다음에 오며 올바른 형식(예: 문자열 또는 16진수)을 사용해야 합니다. 이진 데이터 항목에는 16진수 형식을 사용합니다.
참고 동일한 레지스트리 경로에 여러 데이터 항목 줄을 입력할 수 있습니다.
위로 가기
레지스트리 하위 키 추가 또는 레지스트리 값 추가 및 변경
레 지스트리 하위 키를 추가하거나 레지스트리 값을 추가 또는 변경하려면 레지스트리에서 적절하게 수정한 다음 적절한 하위 키를 내보내야 합니다. 내보낸 레지스트리 하위 키는 자동으로 .reg 파일로 저장됩니다. 레지스트리를 변경하고 변경 내용을 .reg 파일에 내보내려면 다음 단계를 수행하십시오.
1. 시작, 실행을 차례로 누르고 열기 상자에 regedit를 입력한 다음 확인을 누릅니다.
2. 변경하려는 레지스트리 항목을 보유하고 있는 하위 키를 찾아서 누릅니다.
3. 파일을 누른 다음 내보내기를 누릅니다.
이렇게 함으로써 하위 키를 변경 전에 백업할 수 있습니다. 변경한 후 문제가 발생하면 나중에 이 파일을 레지스트리로 다시 가져올 수 있습니다.
4. In the 파일 이름 상자에 원본 레지스트리 항목으로 .reg 파일을 저장할 파일 이름을 입력한 다음 저장을 누릅니다.
참고 하위 키 이름을 나타내는 것처럼 내용을 기억하는 데 도움이 되는 이름을 사용하십시오.
5. 오른쪽 창에서 원하는 레지스트리 항목을 추가 또는 수정합니다.
6. 하위 키를 다시 내보내려면 3-4단계를 반복하되 다른 .reg 파일 이름을 사용하십시오. 레지스트리 변경 내용을 다른 컴퓨터에 적용하기 위해 이 .reg 파일을 사용할 수 있습니다.
7. 로컬 시스템에서 변경 내용을 테스트합니다. 변경 내용으로 인해 문제가 발생하면 원래의 레지스트리 데이터에 대한 백업을 보유하는 파일을 두 번 눌러 레지스트리를 원래 상태로 되돌립니다. 변경 내용이 예상대로 작동한다면 본 문서의 "레지스트리 변경 내용 배포" 절에서 설명하는 방법을 통해 6단계에서 만든 .reg 파일을 다른 컴퓨터에 배포할 수 있습니다.
위로 가기
레지스트리 키 및 값 삭제
.reg 파일로 레지스트리 키를 삭제하려면 .reg 파일의 RegistryPath 앞에 하이픈(-)을 삽입합니다. 다음 레지스트리 키를 예로 들어 보겠습니다.
HKEY_LOCAL_MACHINE\Software
위의 레지스트리 키에서 Test 하위 키를 제거하려면 .reg 파일의 다음 레지스트리 키 앞에 하이픈을 삽입합니다.
HKEY_LOCAL_MACHINE\Software\Test
다음 예제의 .reg 파일을 가지고 이 작업을 수행할 수 있습니다.
[-HKEY_LOCAL_MACHINE\Software\Test]
.reg 파일을 가지고 레지스트리 값을 제거하려면 .reg 파일의 DataItemName 바로 다음에 오는 등호 기호 다음에 하이픈(-)을 삽입합니다. 예를 들어, 다음 레지스트리 키에서 TestValue 레지스트리 값을 제거하려면:
HKEY_LOCAL_MACHINE\Software\Test
.reg 파일의 "TestValue"= 다음에 하이픈을 삽입합니다. 다음 예제의 .reg 파일을 가지고 이 작업을 수행할 수 있습니다.
HKEY_LOCAL_MACHINE\Software\Test
"TestValue"=-
.reg 파일을 만들려면 Regedit.exe를 사용하여 삭제하고자 하는 레지스트리 키를 내보낸 다음 메모장을 가지고 .reg 파일을 편집하고 하이픈을 삽입합니다.
위로 가기
레지스트리 키 및 값 이름 변경
키 또는 값의 이름을 변경하려면 키 또는 값을 삭제한 다음 새로운 이름을 가진 새로운 키 또는 값을 만듭니다.
위로 가기
레지스트리 변경 내용 배포
전 자 메일을 통해 .reg 파일을 사용자에게 보내거나 .reg 파일을 네트워크 상에서 공유한 후 사용자에게 알려 해당 파일을 실행하게 하거나 사용자의 로그온 스크립트에 명령을 추가하여 로그온 시 해당 .reg 파일을 자동으로 가져가게 할 수 있습니다. 해당 .reg 파일을 실행하는 사용자는 다음과 같은 메시지를 받게 됩니다.
레지스트리 편집기
레지스트리에 .reg 파일의 경로 에 있는 정보를 추가하시겠습까?
사용자가 예를 클릭하면 다음과 같은 메시지를 받게 됩니다.
레지스트리 편집기
.reg 파일의 경로에 있는 정보가 레지스트리에 성공적으로 입력되었습니다.
Regedit.exe는 /s 명령줄 스위치를 제공하여 이러한 메시지가 표시되지 않도록 합니다. 예를 들어, /s 스위치를 사용하여 로그온 스크립트 배치 파일을 통해 조용히 .reg 파일을 실행시키려면 다음 구문을 사용합니다.
regedit.exe /s .reg 파일의 경로
그룹 정책 또는 시스템 정책을 사용하여 레지스트리 변경 내용을 네트워크를 통해 배포할 수도 있습니다. 자세한 내용은 다음 Microsoft 웹 사이트를 참조하십시오.
http://msdn.microsoft.com/library/en-us/dnw2kmag01/html/DistributingRegistryChanges.asp (http://msdn.microsoft.com/library/en-us/dnw2kmag01/html/DistributingRegistryChanges.asp)
참고 변경 내용이 작동하면 네트워크에 있는 다른 사용자에게 해당 등록 파일을 보낼 수도 있습니다.
Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹 (http://support.microsoft.com/newsgroups/default.aspx)에 참여하시기 바랍니다.
위로 가기
본 문서의 정보는 다음의 제품에 적용됩니다.
• Microsoft Windows Server 2003, 64-Bit Datacenter Edition
• Microsoft Windows Server 2003, 64-Bit Enterprise Edition
• Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
• Microsoft Windows Server 2003, Enterprise Edition
• Microsoft Windows Server 2003, Standard Edition (32-bit x86)
• Microsoft Windows Server 2003, Web Edition
• Microsoft Windows XP Professional for Itanium-based systems
• Microsoft Windows XP Professional for Itanium-based systems
• Microsoft Windows XP Home Edition
• Microsoft Windows XP Professional
• Microsoft Windows XP Professional x64 Edition
• Microsoft Windows XP Media Center Edition 2002
• Microsoft Windows XP Tablet PC Edition
• Microsoft Windows 2000 Advanced Server
• Microsoft Windows 2000 Datacenter Server
• Microsoft Windows 2000 Professional Edition
• Microsoft Windows 2000 Server
• Microsoft Windows NT Server 4.0 Standard Edition
• Microsoft Windows NT Server 4.0 Enterprise Edition
• Microsoft Windows NT Server 4.0, Terminal Server Edition
• Microsoft Windows NT Workstation 4.0 Developer Edition
• Microsoft Windows 98 Second Edition
• Microsoft Windows Small Business Server 2003 Premium Edition
• Microsoft Windows Small Business Server 2003 Standard Edition
Getting the System Version
#include <windows.h>
#include <stdio.h>
#define BUFSIZE 80
#define SM_SERVERR2 89
typedef void (WINAPI *PGNSI)(LPSYSTEM_INFO);
int main()
{
OSVERSIONINFOEX osvi;
SYSTEM_INFO si;
PGNSI pGNSI;
BOOL bOsVersionInfoEx;
// Try calling GetVersionEx using the OSVERSIONINFOEX structure.
// If that fails, try using the OSVERSIONINFO structure.
ZeroMemory(&osvi, sizeof(OSVERSIONINFOEX));
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
if( !(bOsVersionInfoEx = GetVersionEx ((OSVERSIONINFO *) &osvi)) )
{
osvi.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
if (! GetVersionEx ( (OSVERSIONINFO *) &osvi) )
return FALSE;
}
switch (osvi.dwPlatformId)
{
// Test for the Windows NT product family.
case VER_PLATFORM_WIN32_NT:
// Test for the specific product.
if ( osvi.dwMajorVersion == 6 && osvi.dwMinorVersion == 0 )
{
if( osvi.wProductType == VER_NT_WORKSTATION )
printf ("Microsoft Windows Vista ");
else printf ("Windows Server \"Longhorn\" " );
}
if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 2 )
{
// Use GetProcAddress to avoid load issues on Windows 2000
pGNSI = (PGNSI) GetProcAddress(
GetModuleHandle("kernel32.dll"),
"GetNativeSystemInfo");
if(NULL != pGNSI)
pGNSI(&si);
if( GetSystemMetrics(SM_SERVERR2) )
printf( "Microsoft Windows Server 2003 \"R2\" ");
else if( osvi.wProductType == VER_NT_WORKSTATION &&
si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64)
{
printf( "Microsoft Windows XP Professional x64 Edition ");
}
else printf ("Microsoft Windows Server 2003, ");
}
if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 1 )
printf ("Microsoft Windows XP ");
if ( osvi.dwMajorVersion == 5 && osvi.dwMinorVersion == 0 )
printf ("Microsoft Windows 2000 ");
if ( osvi.dwMajorVersion <= 4 )
printf ("Microsoft Windows NT ");
// Test for specific product on Windows NT 4.0 SP6 and later.
if( bOsVersionInfoEx )
{
// Test for the workstation type.
if ( osvi.wProductType == VER_NT_WORKSTATION &&
si.wProcessorArchitecture!=PROCESSOR_ARCHITECTURE_AMD64)
{
if( osvi.dwMajorVersion == 4 )
printf ( "Workstation 4.0 " );
else if( osvi.wSuiteMask & VER_SUITE_PERSONAL )
printf ( "Home Edition " );
else printf ( "Professional " );
}
// Test for the server type.
else if ( osvi.wProductType == VER_NT_SERVER ||
osvi.wProductType == VER_NT_DOMAIN_CONTROLLER )
{
if(osvi.dwMajorVersion==5 && osvi.dwMinorVersion==2)
{
if ( si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_IA64 )
{
if( osvi.wSuiteMask & VER_SUITE_DATACENTER )
printf ( "Datacenter Edition for Itanium-based Systems" );
else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE )
printf ( "Enterprise Edition for Itanium-based Systems" );
}
else if ( si.wProcessorArchitecture==PROCESSOR_ARCHITECTURE_AMD64 )
{
if( osvi.wSuiteMask & VER_SUITE_DATACENTER )
printf ( "Datacenter x64 Edition " );
else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE )
printf ( "Enterprise x64 Edition " );
else printf( "Standard x64 Edition " );
}
else
{
if( osvi.wSuiteMask & VER_SUITE_DATACENTER )
printf ( "Datacenter Edition " );
else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE )
printf ( "Enterprise Edition " );
else if ( osvi.wSuiteMask == VER_SUITE_BLADE )
printf ( "Web Edition " );
else printf ( "Standard Edition " );
}
}
else if(osvi.dwMajorVersion==5 && osvi.dwMinorVersion==0)
{
if( osvi.wSuiteMask & VER_SUITE_DATACENTER )
printf ( "Datacenter Server " );
else if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE )
printf ( "Advanced Server " );
else printf ( "Server " );
}
else // Windows NT 4.0
{
if( osvi.wSuiteMask & VER_SUITE_ENTERPRISE )
printf ("Server 4.0, Enterprise Edition " );
else printf ( "Server 4.0 " );
}
}
}
// Test for specific product on Windows NT 4.0 SP5 and earlier
else
{
HKEY hKey;
char szProductType[BUFSIZE];
DWORD dwBufLen=BUFSIZE;
LONG lRet;
lRet = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
"SYSTEM\\CurrentControlSet\\Control\\ProductOptions",
0, KEY_QUERY_VALUE, &hKey );
if( lRet != ERROR_SUCCESS )
return FALSE;
lRet = RegQueryValueEx( hKey, "ProductType", NULL, NULL,
(LPBYTE) szProductType, &dwBufLen);
RegCloseKey( hKey );
if( (lRet != ERROR_SUCCESS) || (dwBufLen > BUFSIZE) )
return FALSE;
if ( lstrcmpi( "WINNT", szProductType) == 0 )
printf( "Workstation " );
if ( lstrcmpi( "LANMANNT", szProductType) == 0 )
printf( "Server " );
if ( lstrcmpi( "SERVERNT", szProductType) == 0 )
printf( "Advanced Server " );
printf( "%d.%d ", osvi.dwMajorVersion, osvi.dwMinorVersion );
}
// Display service pack (if any) and build number.
if( osvi.dwMajorVersion == 4 &&
lstrcmpi( osvi.szCSDVersion, "Service Pack 6" ) == 0 )
{
HKEY hKey;
LONG lRet;
// Test for SP6 versus SP6a.
lRet = RegOpenKeyEx( HKEY_LOCAL_MACHINE,
"SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Hotfix\\Q246009",
0, KEY_QUERY_VALUE, &hKey );
if( lRet == ERROR_SUCCESS )
printf( "Service Pack 6a (Build %d)\n",
osvi.dwBuildNumber & 0xFFFF );
else // Windows NT 4.0 prior to SP6a
{
printf( "%s (Build %d)\n",
osvi.szCSDVersion,
osvi.dwBuildNumber & 0xFFFF);
}
RegCloseKey( hKey );
}
else // not Windows NT 4.0
{
printf( "%s (Build %d)\n",
osvi.szCSDVersion,
osvi.dwBuildNumber & 0xFFFF);
}
break;
// Test for the Windows Me/98/95.
case VER_PLATFORM_WIN32_WINDOWS:
if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 0)
{
printf ("Microsoft Windows 95 ");
if (osvi.szCSDVersion[1]=='C' || osvi.szCSDVersion[1]=='B')
printf("OSR2 " );
}
if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 10)
{
printf ("Microsoft Windows 98 ");
if ( osvi.szCSDVersion[1]=='A' || osvi.szCSDVersion[1]=='B')
printf("SE " );
}
if (osvi.dwMajorVersion == 4 && osvi.dwMinorVersion == 90)
{
printf ("Microsoft Windows Millennium Edition\n");
}
break;
case VER_PLATFORM_WIN32s:
printf ("Microsoft Win32s\n");
break;
}
return TRUE;
}
FireFox 플러그인
검색 창에 : IETab
설명 : FireFox 에서 IE 엔진을 구동하여 웹브라우징을 한다. 인터넷 뱅킹과 같은 ActiveX를 반드시 실행해야 서비스가 가능한 웹페이지를 열때 유용하다.
사이트 링크 : https://addons.mozilla.org/ko/firefox/addon/1419
ActiveX 사용 예제와 참고 사이트
참고 사이트
http://www.madchick.com/Default.asp?Page=2&SubPage=2
http://msdn2.microsoft.com/en-us/library/3ca8tfek.aspx
http://msdn2.microsoft.com/en-us/library/ms526064.aspx
Active Server Pages
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/fd6ec94e-2493-4edb-affc-b18391334081.asp
ASP Function (VBScript)
http://msdn2.microsoft.com/en-us/library/3ca8tfek.aspx
ADO API Reference
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmscadoapireference.asp
ODBC
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odbc/htm/dasdkodbcoverview.asp
HTML and Dynamic HTML
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/ado270/htm/mdmscadoapireferenc
e.asp
JScript (Windows Script Technologies)
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/script56/html/1e9b3876-3d38-4fd8-8596-1bbfe2330aa9.asp
DB connection string
http://www.connectionstrings.com/
사용 예제
<HTML>
<HEAD>
<TITLE> AAAAAAAAAAAAA </TITLE>
</HEAD>
<OBJECT id="MA_PrinterInfo" classid="clsid:B6F7F60D-AA2D-4171-B2C0-82F988CEC5A2" CODEBASE="http://124.60.207.102:8080/MaPrinterInfo.cab#version=1.0.0.1"></OBJECT>
<script language="javascript">
function TestFunc1()
{
document.form1.text1.value = MA_PrinterInfo.AllPrinterName;
}
</script>
<BODY>
<form name=form1>
<a href="javascript:TestFunc1();"> TestFunc1() </a><br/>
<input type=text name="text1" size="100">
</form>
</BODY>
</HTML>