目录 搜索
oracle知识 ORACLE的数据类型 Oracle技术网—DBMS_Job包的用法 Oracle技术网—Oracle for NT系统实用工具介绍 Oracle技术网—Oracle常见错误代码 Oracle技术网—Oracle常用Script Oracle技术网—Oracle常用数据字典 Oracle技术网—ORACLE数据库简介 Oracle技术网—Oracle特殊包 Oracle技术网—Oracle相关站点 Oracle技术网—哪些初始化参数最影响Oracle系统性能 PL/SQL DBA Oracle7 7.3.2.2 Oracle技术网—listener.log的内容增长很快,是否可以删除重建 Oracle技术网—ORACLE表空间恢复方案 Oracle技术网—Oracle常用系统文件有哪些 Oracle技术网—ORACLE回滚段管理(上) Oracle技术网—ORACLE回滚段管理(下) Oracle技术网—Oracle如何决定使用哪个回退段 Oracle技术网—Oracle数据库的空间管理技巧 Oracle技术网—Oracle数据库碎片整理 Oracle技术网—Oracle数据库有哪几种关闭方式 Oracle技术网—Oracle数据库有哪几种启动方式 Oracle技术网—Oracle预定义角色有哪些 Oracle技术网—ROLLBACK不能回滚的命令 Oracle技术网—查看哪些session正在使用哪些回滚段 Oracle技术网—存储参数(storage子句)含义及设置技巧 Oracle技术网—和权限有关的表有哪些 Oracle技术网—漫谈数据库的启动和关闭 Oracle技术网—哪些初始化参数最影响Oracle系统性能 Oracle技术网—如何备份控制文件 Oracle技术网—如何查出前台正在发出的sql语句 Oracle技术网—如何查看Oracle版本及安装了哪些选项 Oracle技术网—如何查看Oracle数据表的建表语句 Oracle技术网—如何查看SGA区剩余可用内存 Oracle技术网—如何查看各个表空间占用磁盘情况 Oracle技术网—如何查看后台进程 Oracle技术网—如何查看什么时间有哪些数据库对象结构被修改过 Oracle技术网—如何查看数据库的各种数据文件 Oracle技术网—如何查看数据库的字符集 Oracle技术网—如何查看数据文件是否自动扩展 Oracle技术网—如何查看数据文件所在的路径 Oracle技术网—如何查看用户表上的约束内容 Oracle技术网—如何查看用户表所占空间的大小 Oracle技术网—如何查询出primary key和forgen key的关系表 Oracle技术网—如何改变当前联机日志文件的大小 Oracle技术网—如何利用DBMS_SQL包和游标计算当前用户下所有表的行数 Oracle技术网—如何启动ARCHIVELOG模式 Oracle技术网—如何取出某一用户的密码,再原封不动的改回去 Oracle技术网—如何设置BLOCK_SIZE大于2K,如:4K、16K Oracle技术网—如何手工指定使用哪个回退段 Oracle技术网—如何修改internal的口令 Oracle技术网—如何移动控制文件到新的目录中 Oracle技术网—如何移数据库文件 Oracle技术网—如何增加表空间的大小 Oracle技术网—怎样查看init.ora文件 Oracle技术网—怎样查看SGA值 Oracle技术网—怎样查看哪些用户拥有SYSDBA、SYSOPER权限? Oracle技术网—怎样快速查出Oracle 数据库中的锁等待 Oracle技术网—怎样识别IO竞争和负载平衡 Exp vs Imp Oracle技术网—EXP、IMP 命令详解 Oracle技术网—Exp/Imp大量数据 Oracle技术网—Export/Import 使用技巧与常见错误 Oracle技术网—Oracle数据库的备份与恢复 Oracle技术网—如何把数据exp到Sql loader里 Oracle技术网—如何单独备份一个或多个表 Oracle技术网—如何单独备份一个或多个用户 Oracle技术网—如何导入指定表 Oracle技术网—如何建立一个与现存数据库相同,但不包含数据的空库 Oracle技术网—如何在oracle7和oracle8之间exp/imp数据 Oracle技术网—提高ORACLE数据库系统import性能 Oracle技术网—为何我的导出文件只有500K Oracle技术网—自动备份Oracle数据库 Oracle技术网—作Export或Import时,如何记录LOG信息? SQL技巧 Oracle技术网—LONG数据类型使用上的一些说明 Oracle技术网—Oracle8 PL/SQL编程风格与系统性能的提高 Oracle技术网—Oracle8中用户名、表名、列名、索引名...可以用中文命名吗 Oracle技术网—Oracle中如何实现某一字段自动增加1 Oracle技术网—SQL(Structured Query Language)语句分哪几类 Oracle技术网—SQL*PLUS常用命令列表 Oracle技术网—SQL*Plus系统环境变量有哪些?如何修改? Oracle技术网—SQL*Plus中缓冲区命令列表 Oracle技术网—SQL*Plus中能运行哪几种命令 Oracle技术网—SQLPlus中的复制和粘贴技巧 Oracle技术网—查看本用户下的各种对象的SQL脚本 Oracle技术网—查找a表中有,而在b表中没有的记录 Oracle技术网—利用PL/SQL打印ASCII表 Oracle技术网—如何查找、删除表中重复的记录 Oracle技术网—如何对CLOB行字段执行全文检索 Oracle技术网—如何对CLOB字段进行全文检索? Oracle技术网—如何改变表中列的名字 Oracle技术网—如何改变一个字段初始定义的Check范围 Oracle技术网—如何给表、列加注释 Oracle技术网—如何将 primary key 建在其它的表空间上 Oracle技术网—如何删除表中的列 Oracle技术网—如何使‘CREATE TABLE AS SELECT’能支持ORDER BY ? Oracle技术网—如何通过 SQL*PLUS 将符号 & 、'号(单引号) 插入Oracle数据库的表中 Oracle技术网—如何用SQL生成SQL批处理文件 Oracle技术网—如何在PL_SQL中读写文件 Oracle技术网—如何自动生成一个含有20000101至20500101共50年日期的表 Oracle技术网—如何自动生成一个含有2000年01月至2050年01月共50年月份的表 Oracle技术网—删除a表中和b表相同的数据 Oracle技术网—在Oracle快速进行数据行存在性检查 Oracle技术网—怎样查看表的结构 Oracle技术网—怎样改变SQL*Plus启动时默认路径 Oracle技术网—怎样计算表中的记录数 Oracle技术网—怎样在SQL*Plus中使用 '&' 来实现自定义参数变量? Oracle技术网—怎样在查询记录时给记录加锁 Oracle错误 Oracle7 7.3.2.2 Oracle技术网—Oracle 816中如何启动Enterprise Manager Oracle技术网—Oracle Enterprise Manager(OEM)工具中如何以SYSOPER、SYSDBA方式登录 Oracle技术网—ORACLE数据库应用开发常见问题及排除 Oracle技术网—监听器错误 Oracle技术网—联机热备份失败后,如何打开数据库 Oracle技术网—没有备份、只有归档日志,如何恢复数据文件 Oracle技术网—某个数据文件损坏,如何打开数据库 Oracle技术网—如何使用归档日志进行完全恢复 Oracle技术网—如何正确建立TYPE、partition(分区) Oracle技术网—一个控制文件被损坏,如何启动 Oracle技术网—在SQL*Plus中insert进的都是中文的,为什么一存入服务器后,再select出的就是???了 Oracle技术网—重装Oracle服务器后,以前的数据可以恢复吗 Oracle初学者入门 Oracle技术网—Oracle 8.1.6 for Win2000 系统文件解释 Oracle技术网—Oracle 基本知识 Oracle技术网—Oracle8 数据类型 Oracle技术网—what is sql? Oracle技术网—安装、配置后,SQL*Plus操作初步 Oracle技术网—安装Oracle后,经常使用的修改表空间的SQL代码 Oracle安装、删除 Oracle技术网—Oradim工具的用法 Oracle技术网—WINDOWS NT上,如何删除ORACLE SERVICE Oracle技术网—如何连接两台Oracle服务器 Oracle技术网—如何在Windows 2000下将Oracle完全卸载 Oracle技术网—如何在WINDOWS NT上删除所有的Oracle安装? Oracle技术网—手工安装数据库时需要安装那些系统包 Oracle技术网—手工创建数据库的全部脚本及说明 Oracle安全性问题 Oracle技术网—Linux ORACLE 8.1.5漏洞 Oracle技术网—Oracle 8.1.6的oidldapd中的漏洞 Oracle技术网—Oracle8的不安全因素及几点说明 Oracle技术网—Oracle数据库的安全策略 Oracle技术网—Oracle数据库密码文件的使用和维护 Oracle技术网—提高Oracle数据库应用系统安全的举例与分析 数据库安全性策略 Oracle系统设置、优化、连接 《Oracle8 优化技术》摘录 (第一章 安装) 《Oracle8 优化技术》摘录 (第二章 内存/CPU) 《Oracle8 优化技术》摘录 (第三章 输入/输出) Oracle技术网—ASP 中通过OLEDB访问 Oracle 的代码 Oracle技术网—Delphi5 企业版使用BDE访问 Oracle方法 Oracle技术网—oracle database access object Oracle技术网—Oracle基于Client/Server的性能调整 Oracle技术网—PB7 连接 Oracle 的配置方法 Oracle技术网—PB内置Oracle数据库接口的使用方法 Oracle技术网—PHP+Oracle(OCI) 初步 Oracle技术网—PHP4连接Oracle 8i的方法(转译) Oracle技术网—多个数据库时,如何设置默认数据库 Oracle技术网—如何备份Oracle设置 Oracle技术网—如何让你的SQL运行得更快 Oracle技术网—如何修改 SQL*Plus 的启动参数 Oracle技术网—如何在Windosws 2000中安装JSP并访问Oracle Oracle技术网—如何在Windosws 2000中安装perl并访问Oracle Oracle技术网—如何在Windosws 2000中安装PHP4并访问Oracle Oracle技术网—如何在Windosws NT中使用批处理命令自动启动或关闭Oracle Services Oracle技术网—如何在客户端省略输入数据库串,而只输入用户名、密码即可 Oracle技术网—使用Database Configuration Assistant安装第二个数据库 Oracle技术网—修改Oracle7数据库maxdatafiles参数的方法 索引、序列、快照、数据库链路、触发器 Oracle技术网—触发器的几种应用 Oracle技术网—建立触发器时最容易忽略的两个地方 Oracle技术网—快照和触发子结合使用的例子 Oracle技术网—能否通过视图更新表中的数据 Oracle技术网—如何创建一个简单的JAVA存储过程? Oracle技术网—如何创建隐藏IP地址的最后一项的函数? Oracle技术网—如何加密Oracle中的存储过程 Oracle技术网—为什么有时ORACLE数据库不用索引来查找数据 Oracle技术网—我的数据库链路为什么不工作 Oracle技术网—一个建立快照的简单例子 Oracle技术网—怎样创建一个简单的自定义过程并引用 Oracle技术网—怎样手工刷新快照 oracle与其他数据库的比较 MySQL 测试 Oracle技术网—Oracle 和 mysql 的一些简单命令对比参照 Oracle技术网—Oracle8i和Microsoft SQL Server7.0比较 Oracle技术网—比较SQL Server与Oracle、DB2 Oracle技术网—各种数据类型的比较 Oracle技术网—戏说SQL—几种SQL 服务器的比较 关键任务      在Internet上运作公司是一项艰苦的任务 其它知识 OEM常见问题及其解决办法 Oracle 8 资料库函式库 Oracle 资料库函式库 Oracle技术网—Decode()函数使用技巧(NT+IIS+ASP+ORACLE) Oracle技术网—Dual伪列 Oracle技术网—NULL 使用详解 Oracle技术网—OLAP及其多维数据分析 Oracle技术网—Oracle for NT系统实用工具介绍 Oracle技术网—ORACLE 用户的规范化管理 Oracle技术网—user、uid伪列 Oracle技术网—大型数据库设计原则 Oracle技术网—留言簿(带Oracle数据库分页的显示功能) Oracle技术网—漫谈oracle中的空值 Oracle技术网—如何正确利用Rownum来限制查询所返回的行数 Oracle技术网—什么是ROWID,为什么需要它 Oracle技术网—数据库技术考试大纲(中级) Oracle技术网—数据库行业的现状和展望 Oracle技术网—在客户端处理Oracle的数据行加锁问题 如何对CLOB行字段执行全文检索 Developer 2000 Oracle技术网—Developer/2000中各键盘触发子所对应的“按键” Oracle技术网—FORM调用REPORT时,如何去掉report server Oracle技术网—FORM中,Exception(例外)都有哪些,如何书写 Oracle技术网—FORM中,FORM中,如何引入图像 Oracle技术网—FORM中,WINDOW标题的设置 Oracle技术网—FORM中,常用快捷键有哪些 Oracle技术网—FORM中,触发子exit_form的两种功能是什么 Oracle技术网—FORM中,当光标走到块的最后一项时,如何让按“enter回车”键时,光标自动走到下一条记录的第一项? Oracle技术网—FORM中,当用鼠标点击标签画布的某一“标签页”时,如何判断点击的是哪一页 Oracle技术网—FORM中,如何屏蔽默认的功能键 Oracle技术网—FORM中,如何实现屏幕同步刷新? Oracle技术网—FORM中,如何使用警告 Oracle技术网—FORM中,如何通过 ODBC 访问 Acress 数据? Oracle技术网—FORM中 Oracle技术网—FORM中,设置应用特性(光标类型) Oracle技术网—FORM中,怎样创建动态下拉列表List Oracle技术网—FORM中如何存取声音 Oracle技术网—FORM中如何存取图象?如何把图象从一个表中导到另一个表中? Oracle技术网—MIS中的图像应用技术 Oracle技术网—MIS中的图像应用技术 Oracle技术网—从FORM中调用REPORT时,如何使打印结果直接输出到打印机上 Oracle技术网—如何从FORM中调用REPORT程序 Oracle技术网—如何改变FORM(FMX模块)运行时的title? Oracle技术网—如何在FORM运行中,使定制菜单中的“窗口(W)”菜单项不显示 Oracle技术网—如何在启动FORM程序时直接登录到Oracle数据库上? Oracle技术网—运行FORM时,如何使按钮变灰(即无效) Oracle技术网—运行FORM时,如何使窗口(runtime窗口、画布窗口)自动变成最大化、最小化? Oracle技术网—在Developer/2000中如何读写文本型操作系统文件 Oracle技术网—在Oracle中实现报表的定长输出 linux vs Unix How To Install Oracle 8.0.5 onto RedHat Linux 6 HOWTO: OAS for Linux on FreeBSD HOWTO: Oracle for Linux on FreeBSD Oracle 7.3.4 Enterprise Edition for SCO UNIX 安装步骤 Oracle技术网—Oracle .com 套件在TurboLinux上的安装 Oracle技术网—ORACLE 7.3 Enterprise在SCO OPEN SERVER 5.02 及 5.04 的安装过程 Oracle技术网—ORACLE 7.3.4.2 for SCO Unix 安装说明 Oracle技术网—Oracle 8 for solaris 2.6 安装步骤 Oracle技术网—Oracle 8(8.0.5)标准版安装指南 Oracle技术网—Oracle 8i(8.1.5)企业版安装指南 Oracle技术网—ORACLE FOR SUN SOLARIS 安装手册 Oracle技术网—ORACLE FOR SUN SOLARIS 维护手册 Oracle技术网—ORACLE V.7.3.4.3 FOR AIX 安装说明 Oracle技术网—ORACLE8I FOR SUN SOLARIS2.7 安装说明 Oracle技术网—RedHat 6.1 Step-by-step Install notes for Oracle 8i Oracle技术网—RedHat Linux 6.0 上 Oracle 8(8.0.5)标准版 安装实例 Oracle技术网—RedHat Linux 6.0 上 Oracle 8i R2 (8.1.6) 企业版安装实例 Oracle技术网—如何集成Linux/Apache/PHP4/FastCGI/Oracle/MySQL环境 Oracle技术网—如何在你的Linux机器上安装运行Oracle Oracle技术网—为Linux配备Oracle 8 Oracle技术网—在RedHat 6.0上安装Oracle 8i(全攻略)
文字

修改ORACLE7数据库maxdatafiles参数的方法

摘自:软件世界

2000/04/13 
 

  在安装ORACLE7时,一般对maxdatafiles(数据文件的最大个数)参数值不加修改或未意识到对 其修改,而使用其默认值(往往比需要值要小)。但随着数据量的增多,需要不断地往表空间内增加数据文件,但是maxd atafiles的值限定了数据文件的最大个数,数据文件个数增加到最大值后,若再继续追加,就会导致“数据文件个数 超过了最大值”的错误,以至后边的数据无法存入。

  数据文件的最大个数因操作系统的不同而不同,但是,现在运行着的ORACLE7数据库中,数据文件的最大个数 可以达到1000个以上,即maxdatafiles的参数值可设为1000或更大,远远大于其安装时的默认值(本系 统安装时的默认值为30),如果遇到了“数据文件个数超过了最大值”的问题时,可通过修改maxdatafiles参 数来解决,下面就介绍一下具体的修改方法:

  1.实验环境

  ALPHA8200服务器,操作系统Digial UNIX V3.2C,Oracle7.2数据库。

  2.准备工作

  启动ORACLE数据库,进行下列操作:

  $sqldba mode=line(回车)

  SQLDBA>connect internal(回车)

  SQLDBA>alter database backup controlfile to trace;( 回车)

  SQLDBA>show parameter user_dump_dest(回车)

  可以看到trace文件“ora_3044.trc”在/volora/oracle/rdbms/log目 录下。

  将trace文件/volora/oracle/rdbms/log/ora_3044.trc拷贝成 df ileadd.sql。

  用vi编辑dfileadd.sql文件,修改maxdatafiles参数(由原来的30改为300)。

  Dfileadd.sql文件如下:

  Dump file/volora/oracle/rdbms/log/ora_3044.trc

  Oracle7 Server Release7.2.2.3.0 with the64-bit opti on- Production Release

  With the distributed and parallel query options

  PL/SQL Release2.2.2.3.0- Production

  ORACLE_HOME=/volora/oracle

  ORACLE_SID= ora72

  Oracle process number:8 Unix process id:3044

  System name: OSF1

  Node name: slserver.sl.cnpc.co.cn

  Release: V3.2

  Version:148

  Machine: alpha

  Wed Apr2315:54:281997

  Wed Apr2315:54:281997

  *** SESSION ID:(9.1455)1997.04.23.15.54.28.359

  # The following commands will create a new control file and use it

  # to open the database.

  # No data other than log history will be lost. Addi tional logs may

  # be required for media recovery of offline data fi les. Use this

  # only if the current version of all online logs ar e available.

  STARTUP NOMOUNT

  CREATE CONTROLFILE REUSE DATABASE"ORA72" NORESETLOG S NOARCHIVELOG

  MAXLOGFILES32

  MAXLOGMEMBERS2

  MAXDATAFILES300

  MAXINSTANCES8

  MAXLOGHISTORY800

  LOGFILE

  GROUP1'/volora/oracle/dbs/log1ora72.dbf' SIZE500K,

  GROUP2'/volora/oracle/dbs/log2ora72.dbf' SIZE500K,

  GROUP3'/volora/oracle/dbs/log3ora72.dbf' SIZE500K

  DATAFILE

  '/volora/oracle/dbs/systora72.dbf',

  '/volora/oracle/dbs/rbsora72.dbf',

  '/volora/oracle/dbs/tempora72.dbf',

  '/volora/oracle/dbs/toolora72.dbf',

  '/volora/oracle/dbs/usrora72.dbf',

  '/volora/oracle/dbs/jhc.dbf',

  '/volora/oracle/dbs/useradd.dbf'

  ;

  # Recovery is required if any of the datafiles are restored backups,

  # or if the last shutdown was not normal or immedia te.

  RECOVER DATABASE

  # Database can now be opened normally.

  ALTER DATABASE OPEN;

  将以上dfileadd.sql文件中横线上没用的斜体部分行删掉,存盘。

  最后关闭数据库,并做好数据库的备份,包括数据和控制文件的备份,起码要用export将数据全部卸出。有条 件的话,尽量做全备份,预防在数据库重建失败后瘫痪,因为下一步工作牵扯到对数据库的破坏和重新生成工作。

  3.修改maxdatafiles参数的过程

  3.1删除/volora/oracle/dbs目录下面所有的控制文件(共3个):

  $rm*.ctl(回车)

  3.2重新生成数据库(生成新的控制文件、数据文件等)

  $sqldba mode=line(回车)

  SQLDBA>connect internal(回车)

  运行dfileadd.sql:

  SQLDBA>@dfileadd.sql(回车)

  ORACLE instance started.

  Statement processed.

  Media recovery complete.

  Statement processed.

  SQLDBA>alter database open noresetlogs;(回车)

  至此,数据库的刷新工作已完成,可以投入正常运行了,目前运行着的ORACLE7数据库,数据文件最多可建立 到300个。

  在Windows 95下有一个任务栏可随时用鼠标单击任务栏上的应用程序图标切换到相应的程序,在Wind ows 3.X下要切换应用程序使用的方法有两种,一种是用ALT+TAB切换,另一种是用CTRL+ESC(或在桌 面的空白处双击鼠标)打开任务列表从中选择切换,笔者在使用中总感到不如在Windows 95下那样方便。本文提供 一个用VB 3.0专业版在Windows 3.2中文版下编写的程序,可实现将任务列表一直显示在屏幕上,随时可用 鼠标双击任务列表中的程序名字切换,类似与Windows 95下的任务栏,使用很方便。

  实现方法:在窗体中加入一列表框,将检测到的所有已打开的应用程序加入其中,用户就可以双击应用程序名字来切 换了。这里还有一个将其常居顶端的问题,这方面的实现方法在许多报刊杂志上都可以看到,本文不再叙述,本文只给出其余 功能的实现程序。

  本程序在开始运行时检测已运行的应用程序并将它们加入到任务列表框中,当此后再有新的应用程序打开时,需要将 其添加到列表框中,所以设计了一个刷新按钮,如果有新的应用程序打开,可点一下它。 另外类似与Windows 本身 的任务列表功能,加入了一个切换按钮,当用户在任务列表中单击选择任务后,单击切换按钮也可切换,此外还有一个退出按 钮用来关闭任务列表。

  程序如下:

  在窗体中加入如下对象并设置属性:

  按钮1 Caption="刷新" name=cmdrefresh

  按钮2 Caption="切换" name=cmdswitch

  按钮3 Caption="退出" name=cmdexit

  列表框list name=lstApp

  将窗体形状拉成长条状,安排好对象位置,以便减少屏幕占用空间,将其边框属性改为固定边框,不允许改变大小。

  在总体声明部分写如下代码:

  '声明用到的API函数和常量

  Option Explicit

  Declare Function ShowWindow Lib"User"(ByVal hWnd As Integer, ByVal flgs As Integer) As Integer

  Declare Function GetWindow Lib"User"(ByVal hWnd As Integer, ByVal wCmd As Integer) As Integer

  Declare Function GetWindowWord Lib"User"(ByVal hWnd As Integer, ByVal wIndx As Integer) As Integer

  Declare Function GetWindowLong Lib"User"(ByVal hWnd As Integer, ByVal wIndx As Integer) As Long

  Declare Function GetWindowText Lib"User"(ByVal hWnd As Integer, ByVal lpSting As String, ByVal nMaxCount As Integer) As Integer

  Declare Function GetWindowTextLength Lib"User"(ByVa l hWnd As Integer) As Integer

  Declare Function SetWindowPos Lib"User"(ByVal hWnd As Integer, ByVal insaft As Integer, ByVal x%, ByVal y% , ByVal cx%, ByVal cy%, ByVal flgs As Integer) As Integ er

  '注:上面的API函数要写在一行中

  Const WS_MINIMIZE=&H20000000

  Const HWND_TOP=0

  Const SWP_NOSIZE=&H1

  Const SWP_NOMOVE=&H2

  Const SWP_SHOWWINDOW=&H40

  Const GW_HWNDFIRST=0

  Const GW_HWNDNEXT=2

  Const GWL_STYLE=(-16)

  Const SW_RESTORE=9

  Const WS_VISIBLE=&H10000000

  Const WS_BORDER=&H800000

  Const WS_CLIPSIBLINGS=&H4000000

  Const WS_THICKFRAME=&H40000

  Const WS_GROUP=&H20000

  Const WS_TABSTOP=&H10000

  Dim IsTask As Long

  '寻找已打开的应用程序函数

  Sub FindAllApps()

  Dim hwCurr As Long

  Dim intLen As Long

  Dim strTitle As String

  lstApp.Clear

  hwCurr= GetWindow(Me.hWnd, GW_HWNDFIRST)

  Do While hwCurr

  If hwCurr Me.hWnd And TaskWindow(hwCurr) Then

  intLen= GetWindowTextLength(hwCurr)+1

  strTitle= Space$(intLen)

  intLen= GetWindowText(hwCurr, strTitle, intLen)

  If intLen>0 Then

  lstApp.AddItem strTitle

  lstApp.ItemData(lstApp.NewIndex)= hwCurr

  End If

  End If

  hwCurr= GetWindow(hwCurr, GW_HWNDNEXT)

  Loop

  End Sub

  Function TaskWindow(hwCurr As Long) As Long

  Dim lngStyle As Long

  lngStyle= GetWindowLong(hwCurr, GWL_STYLE)

  If(lngStyle And IsTask)= IsTask Then TaskWindow= Tr ue

  End Function

  双击“退出”按钮,写如下代码:

  Sub Cmdexit_Click()

  Unload Me

  End Sub

  双击“刷新”按钮,写如下代码:

  Sub Cmdrefresh_Click()

  FindAllApps'刷新任务列表

  End Sub

  双击“切换”按钮,写如下代码:

  Sub Cmdswitch_Click()

  Dim hWnd As Long

  Dim x As Long

  Dim lngWW As Long

  If lstApp.ListIndex

  hWnd= lstApp.ItemData(lstApp.ListIndex)

  lngWW= GetWindowLong(hWnd, GWL_STYLE)

  If lngWW And WS_MINIMIZE Then

  x= ShowWindow(hWnd, SW_RESTORE)

  End If

  x= SetWindowPos(hWnd, HWND_TOP,0,0,0,0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_SHOWWINDOW)

  End Sub

  双击窗体,写如下代码:

  Sub Form_Load()

  IsTask= WS_VISIBLE Or WS_BORDER

  FindAllApps

  End Sub

  窗体更新时刷新任务列表:

  Sub Form_Paint()

  FindAllApps

  End Sub双击列表框写如下代码:

  Sub lstApp_DblClick()

  Switch.Value= True

  End Sub


软件世界

上一篇: 下一篇: