让VFP的程序在Windows启动后自动运行

合集下载

vf实验报告

vf实验报告

第一章 Visual FoxPro使用初步1、实验目的(1)学会Visual Foxpro的启动和退出(2)熟悉Visual Foxpro的操作环境,学会简单的环境设置2、实验要求(1)启动和退出Visual Foxpro(2)使用菜单命令“工具|选项”打开“选项”对话框,然后为本教材的实验设置默认工作目录,并练习设置日期、时间格式。

(3)使用菜单命令”显示|工具栏“,练习工具栏的打开和关闭。

3、实验准备阅读教材1.2章节和2.1.1节中的“用户文件默认目录“部分。

4、实验步骤1)启动Visual FoxPro:在Windows的“开始“菜单中,选定”程序|Microsoft Visual FoxPro 6.0“程序组→执行” Microsoft Visual FoxPro 6.0“命令,或双击桌面上的Visual FoxPro 6.0图标。

(2)退出Visual FoxPro 6.0(以下缩写为VFP):单机VFP主窗口的“关闭“按钮,或执行VFP菜单”文件|退出“命令。

(3)设置实验的默认工作目录:选定菜单“工具|选项“命令→在”选项“对话框中选定”文件位置“选项卡→在列表中选定”默认目录“选项→选定’修改按钮”→在“更改文件位置”对话框中选定“使用默认目录”复选框,然后在“定位默认目录”文本框内输入路径“C:\VFPEX\实验”→选定“确定”按钮返回“选项”对话框。

注意:在文本框输入路径前,应先建立“实验”文件夹。

若输入的文件夹不存在,VFP将保留原有的默认工作目录。

(4)设置时间、日期格式:选定“选项”对话框中的“区域”选项卡→单击“日期格式”组合框的下拉按钮→在列表中选定所需的日期格式→在“日期和时间”区的半右部选定所需的时间格式→选定“确定”按钮关闭“选项”对话框。

(5)工具栏的打开:选定“显示|工具栏”命令,打开“工具栏”对话框→选定所需的工具栏复选框→选定“确定”按钮。

(6)关闭指定的工具栏:打开“工具栏“对话框→清楚要关闭的工具栏的复选框→选定”确定“按钮。

VFP

VFP
39
f=2*x-1
case x<3
f=3*x+5
case x<5 f=x+1
2013年秋
VFP程序设计
四、循环结构:
重复执行相同的操作(循环体) 1、条件循环
条件成立? 假
do while<逻辑表达式>
真 循环体
<语句序列>
enddo
enddo 后面语句
40
2013年秋
VFP程序设计
例:编写计算s=1+2+3+……+100和的程 序,要求输出结果格式为: s=1+2+3+…+100=5050 clear 循环 s i s=0 次数 初始值 0 1 i=1 1 1 2 do while i<=100 2 3 3 s=s+i 3 6 4 i=i+1 …… …… …… enddo 99 4950 100 ?"s=1+2+3+...+100=",s 100 5050 101 cancel
X Y X 2 X 2
2
( X 1) (0 X 1) ( X 0)
VFP程序设计
33
2013年秋
VFP程序设计
如何去掉空格?
34
2013年秋
VFP程序设计
35
2013年秋
VFP程序设计
3、多分支结构
do case case <逻辑表达式1> <语句序列1> case<逻辑表达式2> <语句序列2> …… case<逻辑表达式n> <语句序列n> [otherwise <语句序列n+1>] endcase

第1章 VFP系统环境及配置

第1章  VFP系统环境及配置
Z=X Else Z=Y Endif , Browse MAX(0,15,-89) Create , Modify, Structure SUM(X,Y,Z) , INT(3.94) , Edit
4 / 43
1.1.2 学习VFP的要点
4) 掌握表单中控件的属性、方法程序和事件的 基本作用,将控件与数据表中数据相结合(绑定)( 第8章)例8.5,8.18,幸运7游戏。
1.4.7 显示系统配置
格式1:Display Status [To Printer | To File [< 路径>]<文本文件名>] 格式2:List Status [To Printer | To File [<路径 >]<文本文件名>]
输出系统配置信息,每输出一屏幕后暂停,按 输出系统配置信息时没有暂停,其余功能同 将输出的信息存储到文本文件 (TXT)中。 在屏幕上输出信息的同时在打印机上打印。 任意键或单击鼠标,再输出下一幕。 Display Status。 27 / 43
执行方式:输入命令,按回车键。
特性:保留执行过的命令,光标移到命令行上, 按回车再次执行,或修改后再按回车执行。
从右击菜单中选清除,可删除全部信息。 1. 设置命令窗口 方法:格式菜单→字体→选择字体和大小。
14 / 43
1.3.3 命令窗口
2. 打开命令窗口
方法一:窗口菜单→命令窗口
方法四: 执行命令Quit。 方法五:按Alt+F4键。
9 / 43
1.3 VFP系统的主界面组成
VFP系统的主界面组成:菜单栏、工具 栏、主窗口、命令窗口和状态栏。
菜单栏
VFP的工作方式: 主窗口 交互式:通过系统菜单执行命令; 利用工具栏按钮执行命令; 命令窗口 在命令窗口中输入命令; 自动化:编写程序。

VFP程序的破解

VFP程序的破解

浅谈VFP程序的破解Visual Foxpro做为一种面向对象的数据库语言,有其简单易用的特点,虽然经常受到各种各样的批评,微软发布6.0版后,也曾声明版本不再更新,但现在看来,VFP程序还是有一定的生命力的,微软自6.0版以后开发了7.0版,目前8.0beta版在微软的官方网站已有下载。

尤其在我国,早期DOS时代DBaseIII曾被广泛运用,VFP出现后,源程序稍加改动就能变成可在Window平台运行的VFP版本,可以节省大量的资源,减少人员的二次培训。

因此在我国VFP程序的用量还是较大的,专门开发此类程序的公司也不在少数。

由于VFP程序的编译是一种伪编译过程,经过一定的处理,可以得到完整的源代码。

自从ReFox、UnFoxAll等反编译软件出现后,为保护作者自己的利益,软件的加密保护就显得十分重要,相应的,VFP程序的加密也越来越严。

但由于VFP固有的特点—即解释执行,VFP的解释器必须要得到可识别的代码,所以VFP程序的破解相对其他语音编译的程序来说,还是比较简单的。

一、VFP EXE程序的特点VFP标准的编译EXE文件是如下一种格式:可执行部分+APP文件+结构说明其中可执行部分是标准的PE文件,APP部分就是VFP编译的应用程序代码,最后的结构为14个字节,用来描述APP文件,其中重要的是最后4个字节,反映的是APP文件的大小。

头部的可执行部分只是简单地加载VFP的解释器(解释器名称为vfp6r.dll、vfp7r.dll、vfp8r.dll分别对应6.0、7.0、8.0.版本)执行app文件。

现在的加密软件大多利用这个特点,自己构造一个PE头,利用各种壳的技术保护APP代码。

因此我们可以这样认为,对于VFP的可执行文件,除APP文件以外的可执行部分,都可认为是壳。

二APP文件的结构1.app文件结构app文件是vfp生成的应用程序或Active Document其结构为:字节偏移说明0-1 文件标识&Hf2fe为vfp的app2 加密标识bit 0 为1,未加密bit 0 为0,加密,此时bit 4(0或1)区分为两类3-4 编译版本&H0220 -vfp 6.0/7.0&H021f -vfp 5.05-6 文件数目7-8 主文件位置(从0开始)9-12 文件名列表地址13-16 文件说明结构列表地址17-20 文件名列表长度21-36 加密类型密码表37-38 解密key39-40 文件校验和文件名列表地址[目录名],00,文件名,00,文件名,00,...文件说明结构列表地址每个文件占用25个byte,总长度为文件数*250 文件类型0为代码其他数据1-4 文件开始地址5-8 文件结束地址9-12 文件名相对文件名列表的首地址其他不详三、VFP的加密特点及脱壳VFP的加密基本上可以分为两种—文件型加密和内存型加密,这两种加密的区分主要在APP文件的存放位置,存放在某个文件中就为文件型,存放在内存中就叫内存型。

VFP教案

VFP教案

教案任务1:认识数据表、数据库和数据库管理系统一、数据表下表是我们会经常遇到的一种表格,这是一个有8栏12行的表格。

栏目通常是固定不变的,而行数则随着学生人数的增减而变化。

表格的第1行称为表头,表头分为若干栏,每栏都有一个栏目名,它规定了在该栏中应该填写什么样的数据,除表头以外的每一行对应一个学生,每一行的各个栏目说明了这个学生相应的数据信息。

数据表一:学生信息在VFP中,也使用像上面这样的表格来存放数据,称之为数据表(简称表)。

表中的每一栏称为一个字段,栏目名称为字段名,每个字段有确定的字段名、类型、宽度、小数位数等限制,这些称为字段的属性,它们规定了该字段中字段中的名称、数据的类型、宽度和小数位数等。

像表一,第一行仅指明了栏目名,日常生活中通常称其为表头,而在VFP数据表中,称它们为数据表的结构。

表一中第一行之外的各行在数据表中称为记录,每一行是一个记录,每个记录描述了一个人员的各项具体数据。

在VFP中,数据表是最基本的数据存储结构,一个数据表对应磁盘中的一个以DBF为扩展名的文件。

二、数据库一个数据表中所包含的数据往往只反映某类事物的一个方面的信息,在学生学籍管理系统中,除了学生信息表外还可能包含用来存储课程、学生选课信息、专业信息等其他信息的数据表。

在VFP中可以将这些数据表组织杂一起形成一个数据库,即数据的有机集合。

在数据库中可以建立表与表之间的关系,用来反映分散在各个数据表中数据之间的联系,从而简化人们对数据的更新、修改、查询等操作。

数据表二:课程信息数据表三:学生选课信息数据表四:专业信息三、数据库管理系统VFP 就是一个数据库管理系统软件,使用它提供的操作界面可以很方便地建立数据表、数据库并对数据表中的数据进行加工处理;利用VFP 可以创建如图所示的表单,向用户提供十分友好的界面,更好地完成数据的输入、输出和处理:使用VFP 的报表功能,可以迅速方便地制作与打印各种表格。

VFP 有许多命令与函数,用它们可以编写处理具体业务的应用系统,运行这样的应用系统能大大提高处理数据的效率。

[转帖]了解VFP表单窗口属性(含“一闪而过”问题分析)—编程爱好者论坛http:...

[转帖]了解VFP表单窗口属性(含“一闪而过”问题分析)—编程爱好者论坛http:...

[转帖]了解VFP表单窗口属性(含“一闪而过”问题分析)—编程爱好者论坛http:...了解VFP表单窗口属性笔者在两年多的新闻组生活中,曾数十次遇到过初学者对VFP的表单窗口属性所提出的问题,特别是“为何系统编译后运行时一闪而过”的问题,更是被频繁地提出。

现根据我的经验进行一下总结,以帮助初学者打掉这只拦路虎。

其实,这个问题之所以被频繁地提出,并非是由于初学者的理解能力有问题,而实在是VFP的设计混乱所致,以至于造成初学者理解上的混乱。

笔者曾在“济南万千”的“软件、编程、数据库”新闻组就此问题发过“窗口问题到此为止”的帖子,反响很大,现根据该帖进行整理,修正补足该帖中的一些不准确之处及遗漏。

本文所提“表单窗口属性”,是指那些不但影响表单本身的特征(例如长宽等),而且对表单之外、项目之中的其它“元件”有影响的表单属性,它们包括如下三个:属性意义可选值(黑体为默认值)DeskT op 指定表单是否包含在VFP主窗口中 .F./.T.WindowType 指定表单对象运行时的动作 0-无模式/1-模式ShowWindow 指定在创建过程中表单窗口显示表单或工具栏 0-在屏幕中/1-在顶层表单中/3-做为顶层表单下面针对上述表单属性以及VFP中“桌面(DeskT op)、屏幕(Screen)、表单(Form)”等概念谈一谈我的理解。

正因为VFP在此方面的设计混乱,也就决定了我不能系统地、有条理地分析这些问题,我做的只能是阐述一些事实。

1.表单是一个对象,外观表现上是一个窗口。

VFP的主窗口也可以说是一个“表单”对象,它有一个固定的名字叫“_Screen”,“_Screen”是一个特殊的表单对象;2.“ShowWindow”是规定表单在“显示方面的从属关系”的属性ShowWindow属性实际上仅有两种选择:“作为顶层表单”与“在顶层表单中”。

为了表达方便,我们把具有前者属性值的表单称为“顶层表单”,后者称为“从属表单”。

vfp基本操作

vfp基本操作

visual foxpro基本操作2.1VisualFoxPro系统主界面介绍2.1.1VisualFoxPro的启动:启动VisualFoxPro有多种方法,主要有以下三种方式:1.从“开始”菜单启动2.从资源管理器中启动3.从“运行”对话框中启动2.1.2.VisualFoxPro6.0的退出:1.点击关闭按钮2.‘文件’下拉菜单中选择‘退出’3.按下Alt+F44.键入Quit命令2.1.3.VisualFoxPro6.0主界面启动VisualFoxPro6.0以后,即可看到它的主窗口。

主窗口由菜单栏、工具栏以及命令窗口等组成。

VisualFoxPro6.0可使用不同类型的窗口以便完成各种不同的任务。

在VisualFoxPro6.0的各种平台上,除菜单外的所有部件都是窗口,包括工具栏在内。

用户可以同时打开多个窗口。

可以使用Windows下的窗口操作方法对VisualFoxPro6.0的窗口进行操作(如移动、改变大小等)。

(1)菜单栏菜单栏位于屏幕的第二行,它包含文件、编辑、显示、格式、工具、程序、窗口和帮助8个菜单选项。

当单击其中一个菜单选项时,就可以打开一个对应的“下拉式”菜单,在该“下拉式”菜单下,通常还有若干个子菜单选项,当选择其中一个子菜单选项时,就可以执行一个操作。

(2)命令窗口命令窗口是主界面上重要的一个窗口,通过他可直接键入VFP 的各种命令,可实现VFP 全部功能命令窗口位于菜单栏和状态栏之间,是Visual FoxPro 系统命令执行、编辑的窗口。

在命令窗口中,可以输入命令实现对数据库的操作管理;也可以用各种编辑工具对操作命令进行修改、插入、删除、剪切、拷贝、粘贴等操作;还可以在此窗口建立命令文件并运行命令文件。

在“窗口”菜单下,选择“隐藏”,可以关闭命令窗口;选择“命令窗口”,可以弹出命令窗口。

(3)项目管理器窗口利用该窗口可以有效的管理各种类型的文件、表单、报表、图像等(4)工具栏工具栏是单击后可以执行常用任务的一组按钮。

VFP应用程序如何生成可执行文件的方法探讨

VFP应用程序如何生成可执行文件的方法探讨

VFP应用程序如何生成可执行文件的方法探讨VFP(Visual FoxPro)是一种基于Windows的关系数据库管理系统,开发者可以使用它来创建应用程序。

生成可执行文件(.exe)是将VFP应用程序打包成一个独立的可执行文件,方便在其他计算机上运行,而无需安装VFP和应用程序的源代码。

本文将讨论生成VFP可执行文件的方法。

生成VFP可执行文件的基本步骤如下:1.编写VFP应用程序代码并进行测试。

确保应用程序在您的计算机上运行正常,并没有任何错误。

2.打开VFP开发环境,单击“文件”菜单中的“新建”选项,选择“项目”。

3.在项目浏览器窗口中,选择“文件”菜单中的“添加”选项,将您的VFP应用程序文件添加到项目中。

4.在项目浏览器窗口中,选择您的应用程序文件,单击鼠标右键,选择“属性”。

5. 在属性窗口中,将“生成输出”选项设置为“可执行文件(.exe)”。

6.在属性窗口中的其他选项中,您可以设置VFP应用程序的图标、版本信息等。

7.单击“生成”按钮或选择“编译”菜单中的“生成”选项,VFP将开始生成可执行文件。

8.在生成过程中,VFP将显示生成的日志信息,您可以查看生成过程中是否有错误或警告。

9.完成生成后,VFP会在您指定的输出目录中创建一个可执行文件,该文件可以在其他计算机上运行您的VFP应用程序。

除了上述基本步骤外,还有一些注意事项和建议,以确保成功生成VFP可执行文件:1.确保您的VFP应用程序代码中使用的文件路径都是相对路径,而不是绝对路径。

这样可以避免在其他计算机上找不到文件的问题。

2.在项目属性中,将“编译类型”选项设置为“发布”。

这将使VFP 生成一个精简的可执行文件,只包含应用程序所需的必要文件。

3.对于依赖于外部组件或库文件的VFP应用程序,确保这些文件也包含在生成的可执行文件中。

您可以将这些文件手动复制到输出目录中,或者在VFP项目属性的““编译选项”对话框中的“引用”子选项卡中添加这些文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

让VFP的程序在Windows启动后自动运行
在编译完VFP程序之后,可能你马上会运行VFP自带的安装向导向其他用户来发布你的应用程序。

但是,由于VFP自带的发布向导是预先做好了的,在许多方面并不能如你愿。

比如,利用VFP的安装向导,你不可能将你的应用程序放入Windows启动组中让VFP程序在Windows启动时自动运行。

如果想实现程序自动运行,那该怎么办呢?
一、编程原理
我们知道,系统在启动时自动运行哪些程序主要是取决于启动组内容和系统注册表的设定。

修改过注册表的朋友对HKEY—LOCAL—MACHINE\Software\Microsoft\windows\CurrentVersion\run 下的内容并不会感到陌生,该键值下的内容决定了系统在启动时所要运行的程序。

因此,我们通过修改注册表,就能够随心所欲地决定在Windows启动时所自动运行的程序。

同样,如果在VFP的程序设计中对系统的注册表进行修改,在HKEY—LOCAL—MACHINE\Software\Microsoft\windows\CurrentVersion\run 下新添键值,让VFP程序在Windows启动时自动运行是可实现的。

但是利用VFP自身提供的命令是无法修改注册表的,必须调用API函数。

在Windows的各种动态链接库中,我们能够轻易地找到修改注册表的相关函数,如RegCreateKeyEx(新建键值)、RegSetValue(设定键值)之类的。

如果在VFP程序中使用RegSetValue函数来在RUN键值中加入你想自动运行的VFP应用程序的名称,那么Windows在启动时就能够如你所愿。

通过查看MSDN可知,RegSetValue的调用格式如下(用C语言表示):
LONG RegSetValue(HKEY hKey, LPCTSTR lpSubKey,DWORD dwType, LPCTSTR lpData, DWORD cbData)
其中各个参数的含义如下:
hKey:注册表中的预置主键(该参数的类型为整数型)
lpSubKey:欲修改主键的名称
dwType:修改后键值的类型(该函数只支持字符型)
LpData:写入主键的字符串
cbData:写入字符串的长度如果操作成功,返回值为0。

二、程序代码
假如你已新建了一项目(项目的主入口程序为main.prg)并生成了VFP应用程序TEST.EXE,然后打开main.prg,往main.prg加入修改注册键值的代码即可。

下面是用VFP修改注册表的具体实例(一个完整的main.prg程序代码):
#define HKEY—LOCAL—MACHINE -2147483646
*在WindowsAPI编程中,HKEY—LOCAL—MACHINE 被预置为0x80000002,即十进制的-2147483646
clear menu all
set sysme off
注册API函数
Declare Integer RegSetValue In Win32API integer nHkey,STRING cSubKey, integer dwType,string@ lpDatainteger,integer@ count
/ newValue即为编译成功后的EXE文件,再次编译时,必须保证项目所生成的.exe文件名为newValue的值 /
newValue=″D:\database\TEST.exe″
i=len(newValue)
nResult=RegSetValue(HKEY—LOCAL—MACHINE,″Softw are\Microsoft\wind ows\CurrentVersion\run″,1,@newvalue,@i)
if nResult#0
wait wind ″修改注册表失败!″
endi
调用表单
do form wb.scx
read event
clea even
quit
运行上述程序之后,打开注册表,进入HKEY—LOCAL—MACHINE\Software\Microsoft\windows\CurrentVersion\run ,你会发现在该主键下新添了一项键值,其值正是程序写入的内容“D:\database\TEST.exe”。

该程序设计的关键是:在注册表中的RUN下面写入VFP应用程序的名称。

所以,你应事先知道编译后VFP程序的名称,否则,往注册表中写入了不正确的程序名,在Windows启动时,会提示你找不到应用程序。

相关文档
最新文档