为什么记事本窗口不能透明处理

yunlovejia 2010-06-21 03:32:25

Dim sysFolder As String = Environment.GetFolderPath(Environment.SpecialFolder.System)
Dim pInfo As New ProcessStartInfo()

pInfo.FileName = IO.Path.Combine(sysFolder, "Notepad.exe")
If Not IO.File.Exists(pInfo.FileName) Then
MsgBox("找不到‘" & pInfo.FileName & "’文件!", MsgBoxStyle.OkOnly)
Exit Sub
End If

Dim p As Process = Process.Start(pInfo) '运行该文件
p.WaitForInputIdle() '等待程序装载完成

SetWindowPos(p.MainWindowHandle.ToInt32, -1, 0, 0, 0, 0, 3) '窗口最前


Dim preStyle As Long = GetWindowLong(p.MainWindowHandle, GWL_EXSTYLE) '取得当前窗口属性
SetWindowLong(p.MainWindowHandle, GWL_EXSTYLE, preStyle And WS_EX_LAYERED) '加上一个透明属性

On Error Resume Next
SetLayeredWindowAttributes(p.MainWindowHandle, 0, 100, LWA_ALPHA)
p.WaitForExit() '等待进行程退出


上以代码运行后,记事本没有透明效果。
求高手指点一下。
...全文
252 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
舉杯邀明月 2010-06-29
  • 打赏
  • 举报
回复
命题就是错误的,哪来的答案…………


我用 VB6 试了,完全没问题。
看了楼主的代码,我倒觉得有点怪:

为什么 SetWindowPos() 时,窗体句柄用的是 p.MainWindowHandle.ToInt32
而后面的几个 API 中,窗体句柄却是 p.MainWindowHandle 呢?
你在调用 GetWindowLong() 时,怎么不检查是否执行成功呢?

还有一个明显的逻辑错误就是:‘加上一个透明属性’,肯定是用 Or 而不是用 And 啊。

subMain 2010-06-23
  • 打赏
  • 举报
回复
Mark
JOCKTO 2010-06-23
  • 打赏
  • 举报
回复
我也想试试。。。
yunlovejia 2010-06-22
  • 打赏
  • 举报
回复
SetWindowLong(p.MainWindowHandle, GWL_EXSTYLE, preStyle Or &H80)
SetWindowLong(p.MainWindowHandle, GWL_EXSTYLE, preStyle Or WS_EX_LAYERED)
两个都没有效果。
dylike 2010-06-21
  • 打赏
  • 举报
回复
GWL_EXSTYLE, preStyle or &80
兔子-顾问 2010-06-21
  • 打赏
  • 举报
回复
try

preStyle or WS_EX_LAYERED
可以对您的 Windows 操作系统窗口标题栏按钮进行优化增强的小工具,如果您正需要进行窗口优化一定要下载这款 Actual Title Buttons(窗口标题栏按钮增强)使用。Actual Title Buttons 允许您在任何程序的标题栏按钮旁添加最小化、置顶和透明度按钮,支持窗口对齐、窗口置底、更改窗口大小、窗口程序优先级、幽灵窗口、启动程序等。 Windows 窗口标题按钮增强工具 Actual Title Buttons 中文特别版Windows 窗口标题按钮增强工具 Actual Title Buttons 中文多语特别版 通过单击这些按钮来处理标准按钮,您可以利用隐藏的 Windows® 功能,例如: 使窗口透明的附加标题按钮使任何窗口透明 卷起窗口其他标题按钮滚动窗口 最小化窗口以托盘附加标题按钮,最小化 Windows® 通知区域的任何窗口 使窗口永远在顶部的附加标题按钮使任何窗口始终在顶部 调整窗口附加标题按钮可快速将任何窗口调整为最合适的大小 对齐窗口附加标题按钮快速将任何窗口放置到最合适的位置 更改窗口的程序优先级附加标题按钮即时更改窗口的程序优先级 Ghost Window 附加标题按钮“ghost”任何窗口(它将通过鼠标点击) 将窗口移动到另一个监视器附加的标题按钮可轻松移动多监视器系统中的监视器之间的任何窗口窗口内容复制到剪贴板附加标题按钮快速复制到剪贴板窗口内容 将剪贴板内容粘贴到窗口附加标题按钮可快速将剪贴板内容粘贴到任何窗口 单个标题按钮设置 新按钮看起来在所有标准 Windows 视觉主题中都是原生的,并且与一般的最小化/最大化/关闭按钮一样易于使用。 您可以定义应该为所有窗口实际添加哪些按钮,为任何特定窗口指定一组单独的按钮。 Actual Title Buttons 与大多数软件产品完全兼容 在实际标题按钮的帮助下,您可以将上述功能应用于几乎所有程序: 电子邮件客户端:Microsoft Outlook,Outlook Express,Mozilla Thunderbird,Eudora,Incredimail等。 即时通讯工具:ICQ,Windows / MSN Messenger,Yahoo! 信使等 媒体播放器:Windows Media Player,Winamp等 办公工具:记事本,Adobe Acrobat Reader,Microsoft Word,Microsoft Excel等。 图形套件:Adobe Photoshop,Corel Draw等 开发工具:Microsoft Visual Studio,CodeGear Developer Studio等。 离线浏览器或 FTP 客户端 和许多其他类型的程序
可以对您的 Windows 操作系统窗口标题栏按钮进行优化增强的小工具,如果您正需要进行窗口优化一定要下载这款 Actual Title Buttons(窗口标题栏按钮增强)使用。Actual Title Buttons 允许您在任何程序的标题栏按钮旁添加最小化、置顶和透明度按钮,支持窗口对齐、窗口置底、更改窗口大小、窗口程序优先级、幽灵窗口、启动程序等。 Windows 窗口标题按钮增强工具 Actual Title Buttons 中文特别版Windows 窗口标题按钮增强工具 Actual Title Buttons 中文多语特别版 通过单击这些按钮来处理标准按钮,您可以利用隐藏的 Windows® 功能,例如: 使窗口透明的附加标题按钮使任何窗口透明 卷起窗口其他标题按钮滚动窗口 最小化窗口以托盘附加标题按钮,最小化 Windows® 通知区域的任何窗口 使窗口永远在顶部的附加标题按钮使任何窗口始终在顶部 调整窗口附加标题按钮可快速将任何窗口调整为最合适的大小 对齐窗口附加标题按钮快速将任何窗口放置到最合适的位置 更改窗口的程序优先级附加标题按钮即时更改窗口的程序优先级 Ghost Window 附加标题按钮“ghost”任何窗口(它将通过鼠标点击) 将窗口移动到另一个监视器附加的标题按钮可轻松移动多监视器系统中的监视器之间的任何窗口窗口内容复制到剪贴板附加标题按钮快速复制到剪贴板窗口内容 将剪贴板内容粘贴到窗口附加标题按钮可快速将剪贴板内容粘贴到任何窗口 单个标题按钮设置 新按钮看起来在所有标准 Windows 视觉主题中都是原生的,并且与一般的最小化/最大化/关闭按钮一样易于使用。 您可以定义应该为所有窗口实际添加哪些按钮,为任何特定窗口指定一组单独的按钮。 Actual Title Buttons 与大多数软件产品完全兼容 在实际标题按钮的帮助下,您可以将上述功能应用于几乎所有程序: 电子邮件客户端:Microsoft Outlook,Outlook Express,Mozilla Thunderbird,Eudora,Incredimail等。 即时通讯工具:ICQ,Windows / MSN Messenger,Yahoo! 信使等 媒体播放器:Windows Media Player,Winamp等 办公工具:记事本,Adobe Acrobat Reader,Microsoft Word,Microsoft Excel等。 图形套件:Adobe Photoshop,Corel Draw等 开发工具:Microsoft Visual Studio,CodeGear Developer Studio等。 离线浏览器或 FTP 客户端 和许多其他类型的程序
软件介绍: FlyHotKey飞哥热键软件特色:1.拥有丰富的热键来启动任意程序2.集成常用系统命令,取截图静音等3.拥有鼠标快速执行任务功能4.拥有快捷方式界面,双击即可启动程序5.可定制自己的外观和布局6.支持三种特殊路径,相对路径、变量路径和简单路径FlyHotKey飞哥热键路径含义:1.相对路径  是指相对于本软件目录或所在盘的路径,/.代表软件所在目录,例如“D:\FlyHotKey 2.3”,*代表软件所在盘,例如“D:”。换电脑不影响运行。2.绝对路径  是指带盘符的路径。3.变量路径  代表系统特殊目录,例如系统目录,开始菜单,桌面等,属于相对路径,可在工具菜单中查看所有变量路径。换电脑仍然有效。4.普通路径  不含变量的路径5.完整路径  带盘符的全路径,相对于简单路径而言,例如C:\WINDOWS\notepad.exe6.简单路径  基本文件名,例如notepad.exe代表记事本,Winword.exe代表Word软件。不含路径的文件名查找优先级:1.注册表AppPaths目录;2.当前目录;3.系统目录;4.Windows目录;5.环境变量PATH指定的目录,除此之外的文件必须带上全路径。例如路径输入notepad.exe,则先执行的是system32下的notepad,而不是Windows下的notepad(Notepad.exe有两个)新版采用消息机制(注册系统消息方式,几乎所有热键软件都是这种方式),比较简洁,但热键有时会被占用,需要更换。旧版采用钩子机制,没有消息机制效果好,但是灵活,系统底层处理,运行成功热键就是永久的,不用担心热键被占用。一般情况推荐新版(消息版),有特殊用途或技术较好的可以用钩子版。更新说明:2.5.5粘贴文本有些窗口不能用2.5.4增加复制原始路径特殊路径无法定位问题2.5.2优化运行功能最大化状态无法保存问题热键无CapsLock键问题其它问题2.5增加以下热键:系统菜单/关闭按钮/开始按钮/屏幕四角鼠标/窗口/全局升级数据库内核增加若干窗口功能增加显示桌面增加强制最小化增加改变窗口透明度增加粘贴文本增加移除USB设备高权限程序无法执行问题改变显示DPI后窗口无法居中问题拖动修改热键时自动新建的错误
pb案例开发集锦,适合初学者学习,有经验也可以看看,里头有很多巧妙的应用。我在这里列出所有的目录。 源程序使用说明一、功能 本光碟中提供了与图书完全一致的程序源代码和编译好的可执行文件,读者可以直接执行这些可执行文件,以便更加直观的体会案例运行的效果;如果想进一步研究案例的源代码,可以将相应文件夹下的文件在PowerBuilder10.0开发环境中打开,然后编译运行。二、内容 本光碟中包含图书中的每个案例的源代码、可执行文件和所有资源文件,具体组织结构如下: 第1章 窗体与控件 案例1 创建应用、窗口与控件 案例2 目录浏览器 案例3 文件浏览器 案例4 图片浏览器 案例5 用户密码验证 案例6 等待窗口 案例7 使用滚动条 案例8 使用进度条 案例9 电子时钟 案例10 修改系统时间 案例11 颜色对话框 案例12 IP地址编辑框 案例13 人民币大小写金额的转换 第2章 菜单与MDI窗口 案例1 创建窗口菜单 案例2 带底图的MDI窗口 案例3 带浮动图标的工具栏 案例4 隐藏和显示任务栏 案例5 右键菜单 案例6 调用HtmlHelp文件 案例7 动态打开窗口 案例8 记事本 第3章 数据处理基础 案例1 创建数据库 案例2 设置表格颜色 案例3 比例图显示数据 案例4 动态设置数据窗口风格 案例5 使用选项卡 案例6 使用下拉子数据窗口 案例7 动态设立数据窗口 案例8 在窗口中编辑数据 案例9 学生学号排序 案例10 数据窗口排序 案例11 利用DataStore共享数据 案例12 关联与条件查询 案例13 数据查询 案例14 模糊查询 案例15 键盘模拟器 案例16 将数据保存到Word文件中 案例17 将数据保存到Excel文件中 第4章 数据库高级操作 案例1 定义数据窗口的检索参数 案例2 窗口之间传递函数 案例3 在SQL查询中使用变量 案例4 在Grid类型报表的Header区增加文字标题 案例5 使用动态SQL查询数据 案例6 两种不同查询方法的比较 案例7 外部数据源窗口的使用 案例8 更新由多个表生成的数据窗口 案例9 把数据窗口信息存为Html格式文件 案例10 数据窗口查询模式的应用 案例11 数据窗口的树形视图表示 案例12 数据窗口中实现字段的组合 案例13 数据窗口中的数据共享 第5章 网络与通信 案例1 Ping指定IP地址范围内的计算机 案例2 实现串口通信 案例3 制作收发电子邮件程序 案例4 使用组件收发电子邮件 案例5 Web服务器程序 案例6 调用WinFax发送传真 案例7 超级链接的制作 案例8 使用超级链接控件 案例9 获取本机名和IP地址 案例10 使用多线程下载网页 案例11 Socket通信客户端 案例12 Socket通信服务器端 案例13 FTP客户程序 第6章 API函数的应用 案例1 使用API函数实现透明窗体 案例2 制作位图菜单 案例3 控制窗口 案例4 获得系统信息 案例5 创建文件和目录 案例6 显示和设置时间 第7章 报表打印 案例1 报表打印预览 案例2 报表的打印 案例3 数据窗口的预览和打印实现 案例4 使用混合编程实现打印控制 案例5 使用PowerPrinter动态链接库实现打印扩展 案例6 数据窗口的打印 第8章 多媒体与图形 案例1 播放Gif动画 案例2 播放Flash动画 案例3 播放AVl文件 案例4 可连续播放的音乐播放器 案例5 带记忆的MP3播放器 案例6 播放WAV 案例7 播放指定的AVI-MID-WAV文件 案例8 CD播放器 案例9 播放光驱内所有VCD节目 案例10 生肖查询 案例11 位图动画 案例12 浏览大幅BMP图片 案例13 利用Picture制作小动画 案例14 制作屏幕保护程序 案例15 设计滚动字幕 案例16 制作动画光标 第9章 文件与系统 案例1 判断驱动器属性 案例2 清空回收站 案例3 使应用程序窗口总在最顶层 案例4 将程序设置成自动执行的程序 案例5 控制光驱的弹开与关闭 案例6 修改显示器像素色值 案例7 获得应用程序的当前路径 案例8 获取磁盘序列号 案例9 在程序中启动ODBC数据源管理器 案例10 实现定时关闭计算机 第10章 其他技巧与应用 案例1 Windows窗口的枚举 案例2 多线程的实现 案例3 使用PB获得CPU的速度、型号和生产商 案例4 磁盘格式化的实现 第11章 综合应用案例 案例1 库存管理系统 案例2 C/S应用程序设计案例――工资管理 案例3 B/S应用程序举例―――简单链接与查询 三、运行环境 系统环境:Windows XP/Intel P4/1.7G/256M 开发工具:PowerBuilder10.0+Power Dynamo3.6 IIS信息服务器:Internet Information Server 5.0 数据库系统:Adaptive Server Anywhere 8.0 网页设计工具:FrontPage 2000四、注意事项 1、运行本书涉及数据库的实例时,必须设置数据库连接,关于数据库连接的设置在本书"第3章 案例1"有详细说明。读者自己配置数据库,运行前必须重新设置路径。所有使用到的数据库文件都在光盘根目录下“数据库”文件夹内,请根据本机有关设置重新定位源代码相关设置。数据库有问题的请仔细调试,详细情况看设置。 2、界面设置图片的实例必须重新设置图片路径,大部分图片在在本例目录下,读者也可以自行选择图片。许多实例运行后的界面没有图片,与书稿中的图不一致,请仔细检查是否是源代码中的路径的问题,是否是因为用的绝对路径的问题。 3、少数几个程序需要特殊的设置,特别是客户服务器结构的应用程序,请参看书中的具体设置。 4、少数程序可执行文件出现问题可生成EXE+PBD模式,问题就可以解决!光盘中例程出现的问题:FAQ:第2章 案例2 无图,运行前必须重新设置路径第5章 案例1 Ping不了只有单独连接因特网正常运行,通过局域网、宽带等连接因特网(或曾经连接过局域网),IP地址已经多次改变,不符合PING的原理。第5章实例4 不能建立邮件列表需要设置端口、服务器参数等第5章实例8 无图,运行前必须重新设置路径

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧