云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > pb+api实际应用

pb+api实际应用

  • 62 次阅读
  • 3 次下载
  • 2025/6/16 1:31:11

然后就可以在程序中使用这两个函数了,我们在窗体的Form_Load()过程中加入如下代码: MyMenu = GetSystemMenu(handle(this),0)//得到系统菜单的句柄,handle(this)表示当前窗体的句柄

RemoveMenu(MyMenu, 96, MF_BYCOMMAND)//移去“关闭”菜单项,96“关闭”菜单项的命令ID

15、如何获得屏幕保护程序的密码

// 如果屏幕保护程序设置了密码,密码将被加密,然后写到注册表的

“HKEY_CURRENT_USER\\Control Panel\\Desktop\\ScreenSave_Data”位置。屏保密码的最大长度为128位。加密方式是将密码与一特定字符串异或后得到密文,经 过参考有关资料,笔者利用VB成功地破解了屏保的密码。 外部函数声明:

Function long RegOpenKeyEx(long hKey, string lpSubKey, long ulOptions, long samDesired, long phkResult) Library \\

Function long RegCloseKey(long hKey) Library \Function long RegQueryValueEx(long hKey,string lpValueName, long

lpReserved,long lpType,any lpData,long lpcbData) Library \Alias for \

Function long RegSetValueEx(long hKey, string lpValueNames, long

Reserved,long dwType, any lpData, long cbData) Library \Aliasfor \//以上api可以使用powerbuilder提供的注册表函数替代

实例变量声明:

//注释:加密和解密所用的字符串 Constant string Key =

\E31B718D3463EB91C3240FB7C2F8E3B6544C3554E7C94928A385110B2C68FBEE7DF66CE39C2DE47

2C3BB851A123C32E36B4F4DF4A924C8FA78AD23A1E46D9A04CE2BC5B6C5EF935CA885

2B413772FA

574541A1204F80B3D52302643F6CF10F\

Constant long HKEY_CURRENT_USER = 2147483649 Constant long REG_SZ = 1

Constant long KEY_READ = &H20019 窗口自定义函数:

//注释:自定义函数,找到屏保密码 Function string GetScreenSaverPwd()

string EncryptedPassword ,DecryptedPassword,strRetVal,strreturn long lngResult,lngHandle,lngcbData

//注释:从注册表中读取已经加密的屏保密码

RegOpenKeyEx(HKEY_CURRENT_USER, \lngHandle)

RegQueryValueEx(lngHandle, \strRetVal, lngcbData )

strRetVal = Space(lngcbData)

lngResult = RegQueryValueEx(lngHandle, \ByVal strRetVal, lngcbData) RegCloseKey (lngHandle)

EncryptedPassword = strRetVal //注释:解密,得到密码

If Len(EncryptedPassword) <> 1 Then

EncryptedPassword = Left(EncryptedPassword, Len(EncryptedPassword) - 1) //注释:每2位与Key进行异或运算,得到密码 For i = 1 To Len(EncryptedPassword) Step 2 DecryptedPassword =

wf_or(DecryptedPassword,wf_Xor(Mid(EncryptedPassword, i, 2),Mid(Key, i, 2)))//这个是随便写的,可能有问题的:) Next

str_return = DecryptedPassword Else

str_return = \End If

If str_return = \未设置屏保密码。\return str_return

16、设置本地机器的时间 外部函数引用声明:

Function long SetSystemTime(stc_systemtime lpSystemTime) Library \结构声明:

type stc_systemtime from structure integer wyear integer wmonth

integer wdayofweek integer wday integer whour integer wminute integer wsecond

integer wmilliseconds end type 实现代码:

public function boolean of_setsystemtime (datetime adt_datetime); stc_systemtime lstc_systemtime date ld_date time lt_time

ld_date=date(adt_datetime) lt_time=time(adt_datetime)

lstc_systemtime.wyear=year(ld_date)//设置结构变量的年 lstc_systemtime.wmonth=month(ld_date)//设置结构变量的月 lstc_systemtime.wday=day(ld_date)//)//设置结构变量的天

lstc_systemtime.wdayofweek=daynumber(ld_date)//设置结构变量的星期数 lstc_systemtime.whour=hour(lt_time)//设置结构变量的小时 lstc_systemtime.wminute=minute(lt_time)//设置结构的秒数 lstc_systemtime.wsecond=minute(lt_time)//设置结构的分钟数 lstc_systemtime.wmilliseconds=0//设置结构的微秒数

return setsystemtime(lstc_systemtime)<>0//返回是否设置成功 end function

17、调用API函数设计ABOUT窗口

Windows操作系统的许多软件中都包含一个windows 风格的about 窗口,它向用户反映了当前系统的一些基本信息,其中显示有关windows 及其应用软件的版本、版权和系统的工作状态等信息。以下通过调用API 函数设计应用系统的ABOUT 窗口。 外部函数引用声明:

Function long GetWindowWord (long hwnd, long nIndex ) Library \Function long ShellAbout (long hwnd, string szApp , string szOtherStuff, long hIcon) Library \

Function long ExtractIcon (long hinst, string lpszExeFileName, long nIconIndex ) Library \Function long GetDiskFreeSpace (string lpRootPathName, long lpSectorsPerCluster, long lpBytesPerSector , long

lpNumberOfFreeClusters , long lpTotalNumberOfClusters) Library \

function long GetDriveType(string nDrive) Library \for \

Subroutine GetSystemInfo ( SYSTEM_INFO lpSystemInfo) Libaray \

Function long GetSystemMetrics(long nIndex ) Library \定义实例变量:

Constant long GWL_EXSTYLE = -20 Constant long GWL_STYLE = -16 Constant long GWL_WNDPROC = -4 Constant long GWL_HINSTANCE = -6 Constant long SM_CXSCREEN = 0 Constant long SM_CYSCREEN = 1 定义结构system_info

Type SYSTEM_INFO from structure long dwOemID long dwPageSize

long lpMinimumApplicationAddress long lpMaximumApplicationAddress long dwActiveProcessorMask long dwNumberOrfProcessors long dwProcessorType

long dwAllocationGranularity long dwReserved

搜索更多关于: pb+api实际应用 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

然后就可以在程序中使用这两个函数了,我们在窗体的Form_Load()过程中加入如下代码: MyMenu = GetSystemMenu(handle(this),0)//得到系统菜单的句柄,handle(this)表示当前窗体的句柄 RemoveMenu(MyMenu, 96, MF_BYCOMMAND)//移去“关闭”菜单项,96“关闭”菜单项的命令ID 15、如何获得屏幕保护程序的密码 // 如果屏幕保护程序设置了密码,密码将被加密,然后写到注册表的“HKEY_CURRENT_USER\\Control Panel\\Desktop\\ScreenSave_Data”位置。屏保密码的最大长度为128位。加密方式是将密码与一特定字符串异或后

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com