home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DOS/V Power Report 1996 July
/
VPR9607B.BIN
/
driver
/
wacom
/
td98224j
/
setup
/
wacom.ms_
/
wacom.ms
Wrap
Text File
|
1996-02-14
|
33KB
|
876 lines
'**************************************************************************
'* MSSetup Toolkit Sample 1
'**************************************************************************
'$INCLUDE 'setupapi.inc'
'$INCLUDE 'msdetect.inc'
''Dialog ID's
CONST WELCOME31 = 100
CONST WELCOME95 = 101
CONST WELCOMENT = 102
CONST PLSWAIT = 110
CONST ASKQUIT = 200
CONST DESTPATH = 300
CONST EXITFAILURE = 400
CONST EXITQUIT = 600
CONST EXITSUCCESS = 700
CONST EXITS1 = 750
CONST OPTIONS = 800
CONST OPTIONSP = 1000
CONST OPTIONST = 1900
CONST APPHELP = 900
CONST APPHELP95 = 950
CONST COMHELP = 1100
CONST PENHELP = 1200
CONST TABHELP = 1300
CONST WAC = 1400
CONST NOWAC = 1500
CONST WAHELP = 1600
CONST NWHELP = 1700
CONST COMBAUD = 2800
CONST COMBAUD_HELP = 3000
CONST RESTART = 2000
CONST RESTART_HELP = 2100
CONST RESTART2 = 2200
CONST RESTART2_HELP = 2300
CONST CANTRESTART = 2600
CONST EXITFAILURE1 = 2700
CONST SELECTBOARD = 2900
CONST SELECTBOARD95 = 2910
CONST COMBOARD_HELP = 3100
CONST SELECTTABLET = 6400
CONST TABLET_HELP = 6410
''Bitmap ID
CONST LOGO = 1
GLOBAL ILST$ ''Device driver list.
GLOBAL DEST$ ''Default destination directory.
GLOBAL OPTCUR$ ''Option selection from option dialog.
GLOBAL WINDIR$ ''Windows drive letter.
GLOBAL CUIDLL$ ''Dll for the dailog boxes
GLOBAL PLST$ ''Serial port list
GLOBAL OPTPEN$ ''Default Pen
GLOBAL OPTBAUD$
GLOBAL OPTBOARD$
GLOBAL OPTTABLET$
GLOBAL HELPPROC$
GLOBAL INFO1PROC$
GLOBAL MODE% ''Windows operating mode.
GLOBAL mj% ''Windows major revision
GLOBAL mn% ''Windows minor revision
GLOBAL ReMove% ''Remove the Driver?
DECLARE FUNCTION FindIniKey (szIniFile$, szSection$, szKey$, szValue$) AS INTEGER
DECLARE SUB Install
INIT:
ReMove% = 0
OpenLogFile GetWindowsDir + "WACOM.LOG", 0
CUIDLL$ = "mscuistf.dll" ''Custom user interface dll
HELPPROC$ = "FHelpDlgProc" ''Help dialog procedure
INFO1PROC$ = "FInfo0DlgProc"
ILST$ = "DeviceList"
PLST$ = "PortList"
SetBitmap CUIDLL$, LOGO
SetTitle "WACOM セットアップ"
WINDIR$ = GetWindowsDir
szInf$ = GetSymbolValue("STF_SRCINFPATH")
IF szInf$ = "" THEN
szInf$ = GetSymbolValue("STF_CWDDIR") + "WACOM.INF"
END IF
ReadInfFile szInf$
OPTCUR$ = GetIniKeyString(WINDIR$ + "SYSTEM.INI", "Pen Driver", "ComPort")
mj% = GetWindowsMajorVersion()
mn% = GetWindowsMinorVersion()
MODE% = GetWindowsMode()
WriteToLogFile "^ MED-A027 Windows Driver (Japanese version for NEC PC98) SETUP"
WriteToLogFile "^ Version " + STR$(mj%) + "." + STR$(mn%) + ". Mode " + STR$(MODE%)
OPTPEN$ = "1"
OPTBAUD$ = "1"
OPTBOARD$ = "1"
OPTTABLET$ = "1"
DEST$ = WINDIR$ + "SYSTEM"
' mou$ = GetIniKeyString(WINDIR$ + "SYSTEM.INI", "boot", "mouse.drv")
IF ((mj% < 3) OR ((mj% = 3) AND (mn% < 1))) THEN
WriteToLogFile ": Not Windows 3.1 or greater"
i% = DoMsgBox("このタブレットドライバにはバージョン 3.1 以降の Windows が必要です。", "古いバージョンのWindowsです", MB_TASKMODAL+MB_ICONHAND+MB_OK)
END
END IF
REWELCOME:
IF MODE% = 4 THEN
WriteToLogFile "^ Windows NT system found"
WriteToLogFile "^ Check for administrator"
fu% = WinExec("SETREG IsAdmin", SW_HIDE)
fu% = 100
i% = 0
WHILE (fu% > 1)
fu% = fu% - 1
i% = i% + 1
cb% = 16
szBuf$ = STRING$(cb%, 32)
cbRet% = GetPrivateProfileString("Admin", "NotAdmin", STR$(fu%), szBuf$, cb%, "wacom.ini")
fu% = VAL(szBuf$)
WEND
WriteToLogFile "^ Administrator info found; " + STR$(fu%) + ". Try #" + STR$(i%)
i% = WritePrivateProfileString("Admin",NULL,NULL,"wacom.ini")
IF (fu%) THEN
WriteToLogFile ": Not Administrator"
' i% = DoMsgBox("アドミニストレータでログインし、再度セットアップを行ってください", "アクセスが拒否されました", MB_TASKMODAL+MB_ICONHAND+MB_OK)
' END
END IF
IF DoesDirExist(GetSymbolValue("STF_SRCDIR") + "Win\NT") THEN
WriteToLogFile "^ Install Windows NT"
sz$ = UIStartDlg(CUIDLL$, WELCOMENT, "FInfoDlgProc", APPHELP95, HELPPROC$)
ELSE
WriteToLogFile ": Incorrect disk expansion"
i% = DoMsgBox("WACOMの Windows NT 用のファイルが見つかりません。READMEの指示に従ってください", "ファイルが見つかりません", MB_TASKMODAL+MB_ICONHAND+MB_OK)
END
END IF
ELSEIF ((mj% = 3) AND (mn% < 50)) THEN
WriteToLogFile "^ Windows 3.1 system found"
IF DoesDirExist(GetSymbolValue("STF_SRCDIR") + "Win") THEN
WriteToLogFile "^ Install Windows 3.1"
sz$ = UIStartDlg(CUIDLL$, WELCOME31, "FInfoDlgProc", APPHELP, HELPPROC$)
ELSE
WriteToLogFile ": Incorrect disk expansion"
i% = DoMsgBox("WACOMの Windows 3.1 用のファイルが見つかりません。READMEの指示に従ってください", "ファイルが見つかりません", MB_TASKMODAL+MB_ICONHAND+MB_OK)
END
END IF
ELSE
WriteToLogFile "^ Windows 95 system found"
IF DoesDirExist(GetSymbolValue("STF_SRCDIR") + "Win") THEN
WriteToLogFile "^ Install Windows 95"
sz$ = UIStartDlg(CUIDLL$, WELCOME95, "FInfoDlgProc", APPHELP95, HELPPROC$)
ELSE
WriteToLogFile ": Incorrect disk expansion"
i% = DoMsgBox("WACOMの Windows 95 用のファイルが見つかりません。READMEの指示に従ってください", "ファイルが見つかりません", MB_TASKMODAL+MB_ICONHAND+MB_OK)
END
END IF
END IF
IF sz$ = "CONTINUE" THEN
UIPop 1
ELSEIF sz$ = "UNINSTALL" THEN
WriteToLogFile "^ Remove procedure started"
ReMove% = 1
ELSE
GOSUB ASKQUIT
GOTO REWELCOME
END IF
'' GetSerialPortsList PLST$
WriteToLogFile "^ Check for pen driver"
bd1$ = GetIniKeyString(WINDIR$ + "SYSTEM.INI", "boot", "drivers")
IF INSTR(UCASE$(bd1$), "PEN") THEN
pn1$ = GetIniKeyString(WINDIR$ + "SYSTEM.INI", "drivers", "pen")
WriteToLogFile "^ PEN driver found - " + bd1$ + "=" + pn1$
IF INSTR(pn1$, "wac") THEN
GOTO OK
ELSEIF INSTR(pn1$,"MSMOUS") THEN
GOTO OK
ELSE
NONWAC:
WriteToLogFile "^ Do we overwrite the existing driver?"
sz$ = UIStartDlg(CUIDLL$, NOWAC, "FInfoDlgProc", NWHELP, HELPPROC$)
IF sz$ = "CONTINUE" THEN
WriteToLogFile "^ Yes."
UIPop 1
ELSE
WriteToLogFile "^ NO."
GOSUB ASKQUIT
GOTO NONWAC
END IF
END IF
ELSE
IF ReMove% = 1 THEN
WriteToLogFile ": Driver not installed so already Removed"
End
END IF
END IF
OK:
IF MODE% <> 4 THEN
IF ReMove% <> 1 THEN
'NECの場合、PnP対応タブレットとそうでないタブレットでWindows95のSETUPが違う
TABLET:
IF ((mj% = 3) AND (mn% >= 50)) THEN
SetSymbolValue "RadioDefault", OPTTABLET$
sz$ = UIStartDlg(CUIDLL$, SELECTTABLET, "FRadioDlgProc", TABLET_HELP, HELPPROC$)
OPTTABLET$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop(1)
ELSEIF sz$ = "REACTIVATE" THEN
GOTO TABLET
ELSE
GOSUB ASKQUIT
GOTO TABLET
END IF
IF OPTTABLET$ = "1" THEN
WriteToLogFile "^ Select UD2 tablet"
GOTO STARTINST
ENDIF
END IF
OPTION:
SetSymbolValue "RadioDefault", OPTCUR$
OPTL1:
sz$ = UIStartDlg(CUIDLL$, OPTIONS, "FRadioDlgProc", COMHELP, HELPPROC$)
OPTCUR$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop(1)
ELSEIF sz$ = "REACTIVATE" THEN
GOTO OPTL1
ELSE
GOSUB ASKQUIT
GOTO OPTION
END IF
IF OPTCUR$ = "1" THEN
GOTO COM_BAUDRATE
ELSEIF OPTCUR$ = "4" THEN
GOTO COM_BAUDRATE
END IF
SELECT_BOARD:
SetSymbolValue "RadioDefault", OPTBOARD$
SELBOARD1:
IF ((mj% = 3) AND (mn% < 50)) THEN
sz$ = UIStartDlg(CUIDLL$, SELECTBOARD, "FRadioDlgProc", COMBOARD_HELP, HELPPROC$)
ELSE
sz$ = UIStartDlg(CUIDLL$, SELECTBOARD95, "FRadioDlgProc", COMBOARD_HELP, HELPPROC$)
ENDIF
OPTBOARD$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop(1)
ELSEIF sz$ = "REACTIVATE" THEN
GOTO SELBOARD1
ELSE
GOSUB ASKQUIT
GOTO SELECT_BOARD
END IF
COM_BAUDRATE:
SetSymbolValue "RadioDefault", OPTBAUD$
COM_BAUD1:
sz$ = UIStartDlg(CUIDLL$, COMBAUD, "FRadioDlgProc", COMBAUD_HELP, HELPPROC$)
OPTBAUD$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop(1)
ELSEIF sz$ = "REACTIVATE" THEN
GOSUB COM_BAUD1
ELSE
GOSUB ASKQUIT
GOTO COM_BAUDRATE
END IF
PEN_SELECT:
SetSymbolValue "RadioDefault", OPTPEN$
PENSEL_1:
sz$ = UIStartDlg(CUIDLL$, OPTIONSP, "FRadioDlgProc", PENHELP, HELPPROC$)
OPTPEN$ = GetSymbolValue("ButtonChecked")
IF sz$ = "CONTINUE" THEN
UIPop(1)
ELSEIF sz$ = "REACTIVATE" THEN
GOSUB PENSEL_1
ELSEIF sz$ = "BACK" THEN
UIPOP 1
GOTO TABLET
ELSE
GOSUB ASKQUIT
GOTO PEN_SELECT
END IF
END IF
END IF
STARTINST:
Install
QUIT:
WriteToLogFile "^ Quit routine"
ON ERROR GOTO ERRQUIT
IF ReMove% = 1 THEN
WriteToLogFile ": Remove driver exit"
i% = DoMsgBox("ドライバを削除するために Windows をリスタートしてください", "WACOM セットアップ終了", MB_OK+MB_TASKMODAL+MB_ICONHAND)
GOTO RESTART2
END IF
IF ERR = 0 THEN
WriteToLogFile "^ No Error"
dlg% = EXITSUCCESS
ELSEIF ERR = STFQUIT THEN
WriteToLogFile ": Error EXITQUIT"
dlg% = EXITQUIT
ELSE
WriteToLogFile ": Error EXITFAILURE"
i% = DoMsgBox("インストールに失敗しました", "エラー", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
END IF
QUITL1:
sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
IF sz$ = "REACTIVATE" THEN
GOTO QUITL1
END IF
UIPop 1
IF dlg% = EXITSUCCESS THEN
WriteToLogFile "EXITSUCCESS"
i% = ExitExecRestart()
WriteToLogFile "^ ExitExecRestart = " + STR$(i%)
IF i% = 0 THEN
i% = DoMsgBox("MS-DOSのアプリケーションを終了させて Windows を抜けます。そしてDOSプロンプトより _MSSETUP.BAT を実行させてください。", "終了処理に問題があります", MB_OK+MB_TASKMODAL+MB_ICONHAND)
ELSEIF i% = 1 THEN
GOTO RESTART
END IF
END IF
END
ERRQUIT:
WriteToLogFile ": ONERROR QUIT"
i% = DoMsgBox("WACOM以外のペンドライバで問題があります", "WACOM セットアップ", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END
RESTART:
i% = DoMsgBox("ドライバをロードするために Windows をリスタートさせてください", "WACOM リスタート", MB_OK+MB_TASKMODAL+MB_ICONHAND)
RESTART2:
'' Restart computer
END
ASKQUIT:
WriteToLogFile "^ Ask to Quit"
sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
IF sz$ = "EXIT" THEN
WriteToLogFile "^ User Quit"
UIPopAll
ERROR STFQUIT
ELSE
WriteToLogFile "^ Continue"
UIPop 1
END IF
RETURN
'**
'** Purpose:
'** Builds the copy list and performs all installation operations.
'** Arguments:
'** none.
'** Returns:
'** none.
'*************************************************************************
SUB Install STATIC
WriteToLogFile "^ Display wait message"
wt$ = UIStartDlg(CUIDLL$, PLSWAIT, "FModelessDlgProc", 0, "")
SetRestartDir WINDIR$
SrcDrv$ = GetSymbolValue("STF_SRCDIR")
SrcDir$ = SrcDrv$ + "Win\"
DEST$ = GetWindowsDir
IF MODE% = 4 THEN
WriteToLogFile "^ Add NT files to list"
AddSectionFilesToCopyList "Helps", SrcDir$, WINDIR$
AddSectionFilesToCopyList "NT_USR", SrcDir$ + "NT", WINDIR$ + "System32"
AddSectionFilesToCopyList "NT_KRNL", SrcDir$ + "NT", WINDIR$ +"System32\Drivers"
WriteToLogFile "^ Modify the registry"
fu% = WinExec("setreg", SW_HIDE)
GOTO DO_NT
END IF
fu% = 0
NEXTFILE:
IF fu% < 10 THEN
ext$ = "00" + LTRIM$(STR$(fu%))
ELSEIF fu% < 100 THEN
ext$ = "0" + LTRIM$(STR$(fu%))
ELSEIF fu% < 1000 THEN
ext$ = LTRIM$(STR$(fu%))
ELSE
WriteToLogFile "^ Can not create Backup file."
i% = DoMsgBox("SYSTEM.INI ファイルのバックアップが出来ませんでした。Windows ディレクトリから SYSWAC.??? ファイルを削除してください", "バックアップの失敗", MB_OK+MB_TASKMODAL+MB_ICONHAND)
END IF
WriteToLogFile "^ Checking for " + WINDIR$ + "SYSWAC." + ext$
IF DoesFileExist(WINDIR$ + "SYSWAC." + ext$, femExists) THEN
fu% = fu% + 1
GOTO NEXTFILE
ELSE
WriteToLogFile "^ Copy the SYSTEM.INI to SYSWAC." + ext$
CopyFile WINDIR$ + "SYSTEM.INI", WINDIR$ + "SYSWAC." + ext$, cmoVital, 0
END IF
IF ReMove% THEN
dblclk% = 0
wacp% = 0
pend% = 0
w386% = 0
penw% = 0
ELSE
dblclk% = 1
wacp% = 2
pend% = 1
w386% = 1
penw% = 0
IF ((mj% = 3) AND (mn% < 50)) THEN
WriteToLogFile "^ Add windows 31 files to list"
DEST$ = GetWindowsSysDir
AddSectionFilesToCopyList "Helps", SrcDir$, WINDIR$
AddSectionFilesToCopyList "Common", SrcDir$, DEST$
AddSectionFilesToCopyList "Wintabs", SrcDir$, DEST$
AddSectionFilesToCopyList "Win31_Files", SrcDir$, DEST$
penw% = 2
ELSE
WriteToLogFile "^ Add windows 95 files to list"
DEST$ = GetWindowsSysDir
AddSectionFilesToCopyList "Helps", SrcDir$, WINDIR$
AddSectionFilesToCopyList "Common", SrcDir$, DEST$
AddSectionFilesToCopyList "Load_Save", SrcDir$, WINDIR$
AddSectionFilesToCopyList "Eraser", SrcDir$, WINDIR$
AddSectionFilesToCopyList "Wintabs", SrcDir$, DEST$
AddSectionFilesToCopyList "Win95_Files", SrcDir$, DEST$
WriteToLogFile "^ copy pen.inf"
CopyFile SrcDrv$ + "PEN.INF", WINDIR$ + "INF\PEN.INF", cmoOverwrite, 0
WriteToLogFile "^ Modify the registery"
fu% = WinExec("regedit /s wacom95.reg", SW_HIDE)
IF OPTTABLET$ = "1" THEN
'UD2 tablet setup
fu% = WinExec("modreg", SW_HIDE)
WriteToLogFile "^ delete StaticVxD -> Dinamic Load"
ENDIF
dblclk% = 0
pend% = 2
w386% = 3
END IF
END IF
WriteToLogFile "^ dblclk = " + STR$(dblclk%)
WriteToLogFile "^ wacp = " + STR$(wacp%)
WriteToLogFile "^ pend = " + STR$(pend%)
WriteToLogFile "^ w386 = " + STR$(w386%)
WriteToLogFile "^ penw = " + STR$(penw%)
IF dblclk% = 1 THEN
dist% = VAL(GetIniKeyString("WIN.INI", "windows", "DoubleClickWidth"))
WriteToLogFile "^ Old Double Click Width = " + STR$(dist%)
IF dist% < 9 THEN
WriteToLogFile "^ Set to 9"
CreateIniKeyValue "WIN.INI", "windows", "DoubleClickWidth", "9", cmoNone
END IF
dist% = VAL(GetIniKeyString("WIN.INI", "windows", "DoubleClickHeight"))
WriteToLogFile "^ Old Double Click Height = " + STR$(dist%)
IF dist% < 9 THEN
WriteToLogFile "^ Set to 9"
CreateIniKeyValue "WIN.INI", "windows", "DoubleClickHeight", "9", cmoNone
END IF
END IF
mou$ = UCASE$(LTRIM$(RTRIM$(GetIniKeyString(WINDIR$ + "SYSTEM.INI", "boot", "mouse.drv"))))
IF mou$ = "WACPEN.DRV" THEN
mou$ = GetIniKeyString(WINDIR$ + "SYSTEM.INI", "boot", ";oldmouse")
WriteToLogFile "^ The ;oldmouse driver is " + mou$
IF mou$ <> "" THEN
IF DoesFileExist(WINDIR$ + "SYSTEM\" + mou$, femExists) THEN
WriteToLogFile "^ Reset the MOUSE DRIVER to " + mou$
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "boot", "mouse.drv", mou$, cmoOverwrite
IF INSTR(UCASE$(LTRIM$(RTRIM$(mou$))),"OLDMOUSE.DRV") THEN
ELSE
WriteToLogFile "^ Remove Oldmouse.drv"
RemoveFile WINDIR$ + "SYSTEM\OLDMOUSE.DRV", cmoForce
END IF
END IF
ELSE
WriteToLogFile "^ Reset the MOUSE DRIVER to oldmouse.drv"
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "boot", "mouse.drv", "oldmouse.drv", cmoOverwrite
IF DoesFileExist(WINDIR$ + "SYSTEM\OLDMOUSE.DRV", femExists) THEN
ELSE
WriteToLogFile "^ Add OLDMOUSE.DRV to file list"
AddSectionFilesToCopyList "NoMouse", SrcDir$, Dest$
END IF
END IF
END IF
WriteToLogFile "^ Remove the ;oldmouse key"
RemoveIniKey WINDIR$ + "SYSTEM.INI", "boot", ";oldmouse", cmoNone
mou$ = GetIniKeyString(WINDIR$ + "SYSTEM.INI", "boot.description", "mouse.drv")
WriteToLogFile "^ The description of the mouse is " + mou$
IF MID$(UCASE$(mou$),1,29) = "WACOM PEN DRIVER SPOOLING TO " THEN
IF LEN(mou$) = 29 THEN
WriteToLogFile "^ Clear the description"
mou$ = ""
ELSE
WriteToLogFile "^ Remove 'WACOM pen driver spooling to'"
mou$ = MID$(mou$,30)
END IF
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "boot.description", "mouse.drv", mou$, cmoOverwrite
END IF
IF wacp% > 0 THEN
mou$ = GetIniKeyString(WINDIR$ + "SYSTEM.INI", "boot", "mouse.drv")
WriteToLogFile "^ The mouse driver is " + mou$
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "boot", ";oldmouse", mou$, cmoNone
WriteToLogFile "^ Set ;oldmouse to " + mou$
IF INSTR(mou$,"\") THEN
mouw$ = mou$
mous$ = mou$
ELSE
mouw$ = WINDIR$ + mou$
mous$ = WINDIR$ + "SYSTEM\" + mou$
END IF
IF INSTR(UCASE$(mou$),"WAC") THEN
WriteToLogFile "^ Mouse driver is WAC"
IF DoesFileExist(WINDIR$ + "SYSTEM\OLDMOUSE.DRV", femExists) THEN
WriteToLogFile "^ OLDMOUSE.DRV already exists"
ELSE
WriteToLogFile "^ Add OLDMOUSE.DRV to file list"
AddSectionFilesToCopyList "NoMouse", SrcDir$, Dest$
END IF
ELSEIF DoesFileExist(WINDIR$ + "SYSTEM\OLDMOUSE.DRV", femExists) THEN
WriteToLogFile "^ OLDMOUSE.DRV exists"
ELSEIF DoesFileExist(mouw$, femExist) THEN
WriteToLogFile "^ Copy windows mouse.drv to oldmouse.drv"
CopyFile mouw$, WINDIR$ + "SYSTEM\OLDMOUSE.DRV", cmoVital, 0
ELSEIF DoesFileExist(mous$, femExists) THEN
WriteToLogFile "^ Copy windows system mouse.drv to oldmouse.drv"
CopyFile mous$, WINDIR$ + "SYSTEM\OLDMOUSE.DRV", cmoOverwrite + cmoVital, 0
END IF
IF wacp% = 1 THEN
WriteToLogFile "^ Set mouse driver to WACPEN.DRV"
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "boot", "mouse.drv", "wacpen.drv", cmoOverwrite
mou$ = GetIniKeyString(WINDIR$ + "SYSTEM.INI", "boot.description", "mouse.drv")
WriteToLogFile "^ The description of the mouse is now " + mou$
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "boot.description", "mouse.drv", "WACOM pen driver spooling to " + mou$, cmoOverwrite
WriteToLogFile "^ Add 'WACOM pen driver spooling to'"
END IF
END IF
IF w386% = 1 THEN
WriteToLogFile "^ Add WACOM.386 to list"
AddListItem ILST$, "wacom.386"
ELSEIF w386% = 2 THEN
WriteToLogFile "^ Add WACOM.VXD to list"
AddListItem ILST$, "wacom.vxd"
END IF
TOP:
FlushIniFile(WINDIR$ + "SYSTEM.INI")
ini$ = GetIniKeyString(WINDIR$ + "SYSTEM.INI", "386Enh", "device")
RemoveIniKey WINDIR$ + "SYSTEM.INI", "386Enh", "device", cmoVital
WriteToLogFile "^ Device = " + ini$ + "; Removed"
IF INSTR(UCASE$(ini$), "WAC") THEN
WriteToLogFile "^ WAC driver found"
GOTO NEX
ELSEIF INSTR(UCASE$(ini$), "VPEN") THEN
WriteToLogFile "^ VPEN driver found"
GOTO NEX
ELSEIF ini$ = "" THEN
WriteToLogFile "^ Last driver found"
GOTO NEX
ELSE
AddListItem ILST$, ini$
GOTO TOP
END IF
NEX:
x% = GetListLength(ILST$)
WriteToLogFile "^ There are " + STR$(x%) + " drivers in the list"
FOR i% = x% TO 1 STEP -1
FlushIniFile(WINDIR$ + "SYSTEM.INI")
ini$ = GetListItem(ILST$, i%)
CreateSysIniKeyValue WINDIR$ + "SYSTEM.INI", "386Enh", "device", ini$, cmoVital
WriteToLogFile "^ " + ini$ + " put back; " + GetIniKeyString(WINDIR$ + "SYSTEM.INI", "386Enh", "device") + " written"
NEXT i%
bd1$ = LTRIM$(RTRIM$(GetIniKeyString(WINDIR$ + "SYSTEM.INI", "boot", "drivers")))
WriteToLogFile "^ drivers = " + bd1$
IF LEN(bd1$) > 2 THEN
ps% = INSTR(UCASE$(bd1$)," PEN ")
IF INSTR(LEN(bd1$)-2,UCASE$(bd1$),"PEN") THEN
WriteToLogFile "^ PEN found at the end"
IF LEN(bd1$) = 3 THEN
WriteToLogFile "^ Clear the drivers line"
bdt$ = ""
bd1$ = ""
ELSEIF MID$(bd1$,LEN(bd1$)-3,1) = " " THEN
WriteToLogFile "^ Remove PEN from the line"
bdt$ = MID$(bd1$,1,LEN(bd1$) - 4)
bd1$ = LTRIM$(RTRIM$(bdt$))
END IF
ELSEIF MID$(UCASE$(bd1$),1,4) = "PEN " THEN
WriteToLogFile "^ PEN found in the beginning"
WriteToLogFile "^ Remove PEN from the line"
bdt$ = MID$(bd1$,5)
bd1$ = LTRIM$(RTRIM$(bdt$))
ELSEIF ps% THEN
WriteToLogFile "^ PEN found in the line; @ " + STR$(ps%)
WriteToLogFile "^ Remove PEN from line"
bdt$ = MID$(bd1$,1,ps% - 1) + MID$(bd1$,ps% + 4)
bd1$ = LTRIM$(RTRIM$(bdt$))
END IF
WriteToLogFile "^ New drivers line is " + bd1$
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "boot", "drivers", bd1$, cmoOverwrite
FlushIniFile(WINDIR$ + "SYSTEM.INI")
END IF
WriteToLogFile "^ Remove PEN= line from drivers section"
RemoveIniKey WINDIR$ + "SYSTEM.INI", "drivers", "pen", cmoNone
WriteToLogFile "^ Remove PEN.DRV= from descriptions"
RemoveIniKey WINDIR$ + "SYSTEM.INI", "boot.description", "pen.drv", cmoNone
' 追加
RemoveIniKey WINDIR$ + "SYSTEM.INI", "386Enh", "COM1BASE", cmoNone
IF pend% > 0 THEN
IF pend% < 2 THEN
bd1$ = LTRIM$(RTRIM$(GetIniKeyString(WINDIR$ + "SYSTEM.INI", "boot", "drivers")))
WriteToLogFile "^ drivers = " + bd1$
WriteToLogFile "^ Add PEN to drivers line"
bdt$ = bd1$ + " pen"
bd1$ = LTRIM$(RTRIM$(bdt$))
WriteToLogFile "^ New drivers line is " + bd1$
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "boot", "drivers", bd1$, cmoOverwrite
FlushIniFile(WINDIR$ + "SYSTEM.INI")
END IF
WriteToLogFile "^ Add PEN=WACOM.DRV"
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "drivers", "pen", "wacom.drv", cmoOverwrite
WriteToLogFile "^ Add PEN.DRV= to boot.description"
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "boot.description", "pen.drv", "WACOM pen driver", cmoNone
END IF
bd1$ = LTRIM$(RTRIM$(GetIniKeyString(WINDIR$ + "SYSTEM.INI", "boot", "drivers")))
WriteToLogFile "^ drivers = " + bd1$
IF LEN(bd1$) > 9 THEN
WriteToLogFile "^ Check for PENWINDOWS"
ps% = INSTR(UCASE$(bd1$)," PENWINDOWS ")
IF INSTR(LEN(bd1$)-9,UCASE$(bd1$),"PENWINDOWS") THEN
WriteToLogFile "^ PENWINDOWS found at the end"
IF LEN(bd1$) = 10 THEN
WriteToLogFile "^ Clear the drivers line"
bdt$ = ""
bd1$ = ""
ELSEIF MID$(bd1$,LEN(bd1$)-10,1) = " " THEN
WriteToLogFile "^ Remove PENWINDOWS from the line"
bdt$ = MID$(bd1$,1,LEN(bd1$) - 11)
bd1$ = LTRIM$(RTRIM$(bdt$))
END IF
ELSEIF MID$(UCASE$(bd1$),1,11) = "PENWINDOWS " THEN
WriteToLogFile "^ PENWINDOWS found in the beginning"
WriteToLogFile "^ Remove PENWINDOWS from the line"
bdt$ = MID$(bd1$,12,LEN(bd1$) - 11)
bd1$ = LTRIM$(RTRIM$(bdt$))
ELSEIF ps% THEN
WriteToLogFile "^ PENWINDOWS found in the line"
WriteToLogFile "^ Remove PENWINDOWS from the line"
bdt$ = MID$(bd1$,1,ps% - 1) + MID$(bd1$,ps% + 11,LEN(bd1$) - 10 - ps%)
bd1$ = LTRIM$(RTRIM$(bdt$))
END IF
WriteToLogFile "^ Check for IDLLMAN"
ps% = INSTR(UCASE$(bd1$)," IDLLMAN ")
IF INSTR(LEN(bd1$)-6,UCASE$(bd1$),"IDLLMAN") THEN
WriteToLogFile "^ PENWINDOWS found at the end"
IF LEN(bd1$) = 7 THEN
WriteToLogFile "^ Clear the drivers line"
bdt$ = ""
bd1$ = ""
ELSEIF MID$(bd1$,LEN(bd1$)-7,1) = " " THEN
WriteToLogFile "^ Remove IDLLMAN from the line"
bdt$ = MID$(bd1$,1,LEN(bd1$) - 8)
bd1$ = LTRIM$(RTRIM$(bdt$))
END IF
ELSEIF MID$(UCASE$(bd1$),1,8) = "IDLLMAN " THEN
WriteToLogFile "^ IDLLMAN found in the beginning"
WriteToLogFile "^ Remove IDLLMAN from the line"
bdt$ = MID$(bd1$,12,LEN(bd1$) - 8)
bd1$ = LTRIM$(RTRIM$(bdt$))
ELSEIF ps% THEN
WriteToLogFile "^ IDLLMAN found in the line"
WriteToLogFile "^ Remove IDLLMAN from the line"
bdt$ = MID$(bd1$,1,ps% - 1) + MID$(bd1$,ps% + 8,LEN(bd1$) - 7 - ps%)
bd1$ = LTRIM$(RTRIM$(bdt$))
END IF
WriteToLogFile "^ New drivers line is " + bd1$
END IF
WriteToLogFile "^ Remove PENWINDOWS= line from the drivers section"
RemoveIniKey WINDIR$ + "SYSTEM.INI", "drivers", "penwindows", cmoNone
RemoveIniKey WINDIR$ + "SYSTEM.INI", "drivers", "idllman", cmoNone
IF penw% > 0 THEN
WriteToLogFile "^ Add PENWINDOWS to drivers line"
bdt$ = bd1$ + " penwindows" + " idllman"
bd1$ = LTRIM$(RTRIM$(bdt$))
IF penw% > 1 THEN
WriteToLogFile "^ Add PENWINDOWS=PENWIN.DLL"
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "drivers", "penwindows", "penwin.dll", cmoOverwrite
CreateIniKeyValue WINDIR$+"SYSTEM.INI", "drivers", "idllman", "idllman.dll", cmoOverwrite
END IF
END IF
WriteToLogFile "^ New drivers line is " + bd1$
RemoveIniKey WINDIR$ + "SYSTEM.INI", "boot", "drivers", cmoNone
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "boot", "drivers", bd1$, cmoOverwrite
WriteToLogFile "^ Drivers line now equals " + GetIniKeyString(WINDIR$ + "SYSTEM.INI", "boot", "drivers")
IF ReMove% THEN
WriteToLogFile "^ Remove the Pen Driver Section"
i% = WritePrivateProfileString("Pen Driver", NULL, NULL, WINDIR$ + "SYSTEM.INI")
ELSE
IF OPTCUR$ = "X" THEN
WriteToLogFile "^ Remove ComPort="
RemoveIniKey WINDIR$ + "SYSTEM.INI", "Pen Driver", "ComPort", cmoNone
ELSEIF OPTCUR$ = "" THEN
WriteToLogFile "^ Did not change ComPort="
ELSE
WriteToLogFile "^ ComPort=" + OPTCUR$
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "Pen Driver", "ComPort", OPTCUR$, cmoOverwrite
END IF
IF OPTBAUD$ = "2" THEN
WriteToLogFile "9600Baud=0"
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "Pen Driver", "9600baud", "0", cmoOverwrite
ELSE
WriteToLogFile "9600Baud=1"
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "Pen Driver", "9600baud", "1", cmoOverwrite
END IF
IF OPTBOARD$ = "1" THEN
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "Pen Driver", "ComBoard", "0", cmoOverwrite
ELSEIF OPTBOARD$ = "2" THEN
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "Pen Driver", "ComBoard", "1", cmoOverwrite
ELSE
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "Pen Driver", "ComBoard", "2", cmoOverwrite
END IF
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "Pen Driver", "InstalledPen386", "wacom.386",cmoOverwrite
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "Pen Driver", "IgnoreStartErrors", "0",cmoOverwrite
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "Pen Driver", "CancelConnectErrors", "0",cmoOverwrite
' 追加
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "Pen Driver", "IgnoreErrors", "0", cmoNone
FOR j% = 1 TO 1000 STEP 1
NEXT j%
' x% = GetListLength(ILST$)
' FOR i% = 1 TO x% STEP 1
' ini$ = GetListItem(ILST$, i%)
' CreateSysIniKeyValue WINDIR$ + "SYSTEM.INI", "386Enh", "device", ini$, cmoPrepend + cmoVital
' NEXT i%
IF OPTCUR$ = "1" THEN
CreateIniKeyValue WINDIR$ + "SYSTEM.INI", "386Enh", "COM1BASE", "-1", cmoOverwrite
END IF
'' 筆圧ペンの使用の有無を wacom.ini に書き込む。
CreateIniKeyValue WINDIR$ + "WACOM.INI", "BOOT", "Pressure", "0", cmoOverwrite
IF OPTPEN$ = "2" THEN
CreateIniKeyValue WINDIR$ + "WACOM.INI", "BOOT", "Pressure", "0", cmoOverwrite
ELSE
CreateIniKeyValue WINDIR$ + "WACOM.INI", "BOOT", "Pressure", "1", cmoOverwrite
END IF
'' Wintabを使えるようにする
''
' CreateIniKeyValue WINDIR$ + "WACOM.INI", "BOOT", "wDllBits1", "15", cmoOverwrite
'' 必要な項目を WIN.INI に書き込む
''
CreateIniKeyValue WINDIR$+"WIN.INI", "IMEUserInterface", "installPenUi", "1", cmoOverwrite
CreateIniKeyValue WINDIR$+"WIN.INI", "IMEUserInterface", "activePenUi", "1", cmoOverwrite
CreateIniKeyValue WINDIR$+"WIN.INI", "IMEUserInterface", "PENUI1","MSPENUI.DLL,1.0,マイクロソフトペンユ-ザインターフェイス", cmoOverwrite
'' ver2.14からダブルクリックディスタンスのデフォリト値を15にする。これまでは4。(記述がなければ4となる)
CreateIniKeyValue WINDIR$+"WIN.INI", "windows", "DoubleClickWidth", "15", cmoOverwrite
CreateIniKeyValue WINDIR$+"WIN.INI", "windows", "DoubleClickHeight", "15", cmoOverwrite
END IF
DO_NT:
UIPop 1
IF Remove%=0 THEN
WriteToLogFile "^ Copy the files in the file list"
SetCopyGaugePosition 75,85
CopyFilesInCopyList
END IF
END SUB
'' CloseLogFile
' IF RestartListEmpty() = 0 THEN
' sz$ = UIStartDlg(CUIDLL$, RESTART, "FInfoDlgProc", RESTART_HELP, HELPPROC$)
' IF sz$ = "CONTINUE" THEN
' UIPop 1
'RETRY1:
' i% = ExitExecRestart()
' IF i% = 0 THEN
' sz$ = UIStartDlg(CUIDLL$, CANTRESTART, "FInfoDlgProc", 0, "")
' IF sz$ = "CONTINUE" THEN
' GOTO RETRY1
' ELSE
' UIPopAll
' ERROR STFERR
' ENDIF
' ENDIF
' END IF
' ELSE
' ForceRestartOn
' sz$ = UIStartDlg(CUIDLL$, RESTART2, "FInfoDlgProc", RESTART2_HELP, HELPPROC$)
' IF sz$ = "CONTINUE" THEN
' UIPop 1
'RETRY2:
' i% = ExitExecRestart()
' IF i% = 0 THEN
' sz$ = UIStartDlg(CUIDLL$, CANTRESTART, "FInfoDlgProc", 0, "")
' GOTO RETRY2
' ELSE
' UIPopAll
' '' ERROR STFERR
' ENDIF
' ENDIF
' END IF
' END IF
'END SUB
FUNCTION FindIniKey (szIniFile$, szSection$, szKey$, szValue$) STATIC AS INTEGER
fFound% = 0
szCurKeyStr$ = RTRIM$(LTRIM$(LCASE$(GetIniKeyString( szIniFile$, szSection$, szKey$))))
IF szCurKeyStr$ <> "" THEN
end_pos% = LEN(szCurKeyStr$)
start_pos% = 1
WHILE ((NOT start_pos% = end_pos%) AND (fFound = 0))
blank_pos% = INSTR(start_pos%, szCurKeyStr$, " ")
IF blank_pos% = 0 THEN
szTemp$ = MID$(szCurKeyStr$, start_pos%)
start_pos% = end_pos%
ELSE
szTemp$ = MID$(szCurKeyStr$, start_pos%, blank_pos% - start_pos%)
start_pos% = blank_pos% + 1
END IF
IF szTemp$ = LCASE$(szValue$) THEN
fFound% = 1
END IF
WEND
ENDIF
FindIniKey = fFound%
END FUNCTION