我的方法如下:
1,在Destroy事件中记入注册表
#DEFINE HKEY_CLASSES_ROOT 2147483648 && 0x80000000,或用负数: -2147483648
#DEFINE HKEY_CURRENT_USER 2147483649 && 0x80000001,-2147483647
#DEFINE HKEY_LOCAL_MACHINE 2147483650 && 0x80000002,-2147483646
#DEFINE HKEY_USERS 2147483651 && 0x80000003,-2147483645
#DEFINE HKEY_PERFORMANCE_DATA 2147483652 && 0x80000004,-2147483644
#DEFINE HKEY_CURRENT_CONFIG 2147483653 && 0x80000005,-2147483643
#DEFINE HKEY_DYN_DATA 2147483654 && 0x80000006,-2147483642
cMyRegPath
=
"Software\VFP\"+JUSTSTEM(SYS(1271,THIS))
THIS.串口控制.Registry.Setregkey("Top",ALLTRIM(STR(THIS.Top)),cMyRegPath,HKEY_CURRENT_USER,.T.)
THIS.串口控制.Registry.Setregkey("Left",ALLTRIM(STR(THIS.Left)),cMyRegPath,HKEY_CURRENT_USER,.T.)
THIS.串口控制.Registry.Setregkey("记录时长",ALLTRIM(STR(THIS.串口控制.记录时长)),cMyRegPath,HKEY_CURRENT_USER,.T.)
IF !EMPTY(THIS.串口控制.可用串口.Value)
THIS.串口控制.Registry.Setregkey("最后串口",THIS.串口控制.可用串口.Value,cMyRegPath,HKEY_CURRENT_USER,.T.)
ENDIF
IF !EMPTY(THIS.串口控制.位置_nmea)
THIS.串口控制.Registry.Setregkey("Path_Nmea",THIS.串口控制.位置_nmea,cMyRegPath,HKEY_CURRENT_USER,.T.)
ENDIF
2,在Iint事件中恢复
#DEFINE HKEY_CLASSES_ROOT 2147483648 && 0x80000000,或用负数: -2147483648
#DEFINE HKEY_CURRENT_USER 2147483649 && 0x80000001,-2147483647
#DEFINE HKEY_LOCAL_MACHINE 2147483650 && 0x80000002,-2147483646
#DEFINE HKEY_USERS 2147483651 && 0x80000003,-2147483645
#DEFINE HKEY_PERFORMANCE_DATA 2147483652 && 0x80000004,-2147483644
#DEFINE HKEY_CURRENT_CONFIG 2147483653 && 0x80000005,-2147483643
#DEFINE HKEY_DYN_DATA 2147483654 && 0x80000006,-2147483642
*!*
注册表位置
cMyRegPath
=
"Software\VFP\"+JUSTSTEM(SYS(1271,THIS))
*!*
设置用户窗口位置顶部
cTop
=
""
THIS.串口控制.Registry.GetRegKey("Top",@cTop,cMyRegPath,HKEY_CURRENT_USER)
IF ISDIGIT(cTop)
THIS.Top
=
VAL(cTop)
ENDIF
*!*
设置用户窗口位置左边
cLeft
=
""
THIS.串口控制.Registry.GetRegKey("Left",@cLeft,cMyRegPath,HKEY_CURRENT_USER)
IF ISDIGIT(cLeft)
THIS.Left
=
VAL(cLeft)
ENDIF
*!*
设置用户原定记录时长
记录时长
=
""
THIS.串口控制.Registry.GetRegKey("记录时长",@记录时长,cMyRegPath,HKEY_CURRENT_USER)
IF ISDIGIT(记录时长)
THIS.串口控制.记录时长
=
INT(VAL(记录时长))
THIS.串口控制.时长.Comment
=
记录时长
ENDIF
*!*
设置用户最后使用的串口
最后串口
=
""
THIS.串口控制.Registry.GetRegKey("最后串口",@最后串口,cMyRegPath,HKEY_CURRENT_USER)
IF !EMPTY(最后串口)
THIS.串口控制.可用串口.Comment
=
最后串口
ENDIF
*!*
设置文件存放位置
Path_Nmea
=
""
THIS.串口控制.Registry.GetRegKey("Path_Nmea",@Path_Nmea,cMyRegPath,HKEY_CURRENT_USER)
IF !EMPTY(Path_Nmea)
THIS.串口控制.位置_nmea
=
ADDBS(Path_Nmea)
ENDIF
3,注册表位置:
HKEY_CURRENT_USER\Software\VFP\gps仪表