信息发布软件,b2b软件,广告发布软件

 找回密码
 立即注册
搜索
查看: 4007|回复: 13
打印 上一主题 下一主题

[『C++图文教程』] 无需多言C++几行代码让屏幕保护失去应该的效果

[复制链接]

1886

主题

1896

帖子

1万

积分

积分
11036
跳转到指定楼层
宣传软件楼主
发表于 2017-6-27 22:06:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

软件教程首图:

软件教程分类:C++ 图文教程 

软件图文教程视频教程分类:软件图文教程 

软件教程难易程度:软件初级教程 

软件教程发布日期:2017-06-27

软件教程关键字:无需多言C++几行代码让屏幕保护失去应该的效果

① 本信息收集于网络,如有不对的地方欢迎联系我纠正!
② 本信息免费收录,不存在价格的问题!
③ 如果您的网站也想这样出现在这里,请您加好友情链接,我当天会审核通过!

④友情链接关键字:软件定制网站 网址:http://www.postbbs.com

软件教程详细描述

如果在你的程序中需要一个很长的时间段来进行大量的数据处理,这段时间长得足以使Windows因检测不到用户动作而激活屏幕保护程序,一旦启动了屏幕保护程序,你的程序运行实际上就变慢了,这会大大影响程序的正常运行。有没有一种方法,使程序在进行长时间的数据处理前关掉屏幕保护呢?答案是肯定的。Windows在启动屏幕保护程序前会向当前激活的应用程序发送WM_SYSCOMMAND消息,其中wParam参数指定了即将执行的系统命令类型,在本例中其值为SC_SCREENSAVE。问题在于程序如何捕获这个消息呢?在C++ Builder中可以利用TApplication类的OnMessage事件句柄来处理这个消息。应用程序在接收到任何Windows消息后都会触发TApplication类的OnMessage事件,通过定义这个事件的处理程序,可以捕获发送给应用程序的所有Windows消息(这当然不包括在程序中用SendMessage函数发送的消息)。

  OnMessage事件的定义如下:

  typedef void__fastcall(__closure

  *TMessageEvent)(tagMSG amp;Msg,boolamp;Handled);

  __property TMessageEvent OnMessage=

  {read=FOnMessage,write=FOnMessage};

  其中TMessageEvent类型是OnMessage事件的类型,它定义了处理消息的方法,Msg参数给出了Windows消息的相关信息,其结构如下:

  typedef struct tagMSG{

  HWND hwnd;

  UINT message;

  WPARAM wParam;

  LPARAM lParam;

  DWORD time;

  POINT pt;}

  Handled参数决定了如何对消息进行下一步处理,如果在接收到一个消息后将Handled参数设为true,则这个消息将不会得到进一步的处理,在本例中就是取消屏幕保护程序的激活。

  启动C++ Builder,新建一工程文件,在头文件中的Private段增加对成员函数CaptureMessage的声明:

  class TForm1 : public TForm

  {

  __published:

  private:

  void __fastcall CaptureMessage(tagMSG amp;Msg,bool amp;Handled);

  public:

  __fastcall TForm1(TComponent* Owner);

  };

  在.cpp文件中增加CaptureMessage的定义:

  void __fastcall TForm1::CaptureMessage(tagMSG amp;Msg,bool amp;Handled)

  {

  if(Msg.message= =WM_SYSCOMMAND amp;amp; Msg.wParam= =SC_SCREENSAVE)

  Handled=true; //阻止屏幕保护的启动

  else

  Handled=false; //进行该消息的缺省处理

  }

  再将定义好的CaptureMessage函数作为OnMessage事件的事件处理器,将以下代码加到主窗体的OnCreate事件处理器中:

  void __fastcall TForm1::FormCreate(TObject *Sender)

  {

  Application-gt;OnMessage=CaptureMessage;

  }

  按F9编译并运行程序,你可以事先将屏幕保护的等待时间设为一个尽可能小的值来检验程序的运行情况。你会发现在程序运行期间,屏幕保护程序将无法被激活,关闭运行的程序后再等待一会儿,屏幕保护程序就会正常出现。以上代码在C++ Builder3、win98环境中运行通过。

  发送给应用程序的所有Windows消息(这当然不包括在程序中用SendMessage函数发送的消息)。

  OnMessage事件的定义如下:

  typedef void__fastcall(__closure

  *TMessageEvent)(tagMSG amp;Msg,boolamp;Handled);

  __property TMessageEvent OnMessage=

  {read=FOnMessage,write=FOnMessage};

  其中TMessageEvent类型是OnMessage事件的类型,它定义了处理消息的方法,Msg参数给出了Windows消息的相关信息,其结构如下:

  typedef struct tagMSG{

  HWND hwnd;

  UINT message;

  WPARAM wParam;

  LPARAM lParam;

  DWORD time;

  POINT pt;}

  Handled参数决定了如何对消息进行下一步处理,如果在接收到一个消息后将Handled参数设为true,则这个消息将不会得到进一步的处理,在本例中就是取消屏幕保护程序的激活。

  启动C++ Builder,新建一工程文件,在头文件中的Private段增加对成员函数CaptureMessage的声明:

  class TForm1 : public TForm

  {

  __published:

  private:

  void __fastcall CaptureMessage(tagMSG amp;Msg,bool amp;Handled);

  public:

  __fastcall TForm1(TComponent* Owner);

  };

  在.cpp文件中增加CaptureMessage的定义:

  void __fastcall TForm1::CaptureMessage(tagMSG amp;Msg,bool amp;Handled)

  {

  if(Msg.message= =WM_SYSCOMMAND amp;amp; Msg.wParam= =SC_SCREENSAVE)

  Handled=true; //阻止屏幕保护的启动

  else

  Handled=false; //进行该消息的缺省处理

  }

  再将定义好的CaptureMessage函数作为OnMessage事件的事件处理器,将以下代码加到主窗体的OnCreate事件处理器中:

  void __fastcall TForm1::FormCreate(TObject *Sender)

  {

  Application-gt;OnMessage=CaptureMessage;

  }

  按F9编译并运行程序,你可以事先将屏幕保护的等待时间设为一个尽可能小的值来检验程序的运行情况。你会发现在程序运行期间,屏幕保护程序将无法被激活,关闭运行的程序后再等待一会儿,屏幕保护程序就会正常出现。以上代码在C++ Builder3、win98环境中运行通过。


SetWindowPos(&wndTopMost,0,0,::GetSystemMetrics(SM_CXSCREEN),::GetSystemMetrics(SM_CYSCREEN),SWP_SHOWWINDOW);
     //设置窗口大小

SetTimer(1,250,NULL);
//建立时钟
m_boxes=0;
    //初始化变量
七、 添加消息响应函数

tDC dc(this);
    //获得设备环境
CRect rect;//创建坐标类
GetClientRect(&rect);
//获得客户区坐标

    dc.SetROP2(R2_XORPEN);//绘图模式
   CPen randomPen;//创建画笔
   randomPen.CreatePen(PS_SOLID,1,RGB(rand()%255,
                                   rand()%255,
           rand()%255));
//获得画笔属性

dc.SelectObject(&randomPen);
    //载入设备环境
for(int row=rect.bottom-m_boxes;row>m_boxes;row--)
{
  dc.MoveTo(m_boxes,row);
  dc.LineTo(rect.right-m_boxes,rect.bottom-row);
单击“Add Handler”,然后单击“Edit Existing”,在光标提示处添加代码如下:

CClien
}

for(int col=m_boxes;col<rect.right-m_boxes;col++)
{
  dc.MoveTo(col,m_boxes);
  dc.LineTo(rect.right-col,rect.bottom-m_boxes);
}
   无需多言C++几行代码让屏幕保护失去应该的效果
m_boxes++;
m_boxes %=5;
    //实现的相关算法
dc.SelectStockObject(BLACK_PEN);

八、 添加鼠标左键和右键按下的消息

单击“Add Handler”,然后单击“Edit Existing”,在光标提示处添加代码如下:
    //设置关闭屏保的程序代码
CDialog::EndDialog(IDOK);

单击“Add Handler”,然后单击“Edit Existing”,在光标提示处添加代码如下:
    //设置关闭屏保的程序代码
CDialog::EndDialog(IDOK);

九、 添加WM_Destory的消息响应函数。

单击“Add Handler”,然后单击“Edit Existing”,在光标提示处添加代码如下:
KillTimer(1);

unto万国企业网信息发布软件自动发帖机nextC++回收内存让程序再也不会无缘无故的消失在电脑上
回复

使用道具 举报

0

主题

1012

帖子

1012

积分

积分
1012
信息发布软件沙发
发表于 2017-6-28 02:43:50 | 只看该作者
教程很丰富,很有用。支持店主。

回复 支持 反对

使用道具 举报

0

主题

614

帖子

596

积分

积分
596
推广工具板凳
发表于 2017-7-6 22:49:18 | 只看该作者
和5号笨蛋服务不错,好评!!

回复 支持 反对

使用道具 举报

0

主题

632

帖子

628

积分

积分
628
软件定制开发地板
发表于 2017-7-8 05:16:37 | 只看该作者
,服務員耐心教授,網站成功完成,多謝大家幫忙

回复 支持 反对

使用道具 举报

1

主题

2204

帖子

565

积分

积分
565
5#定制软件#
发表于 2017-7-13 03:25:57 | 只看该作者
!下次有模板还到这边

回复 支持 反对

使用道具 举报

1

主题

608

帖子

594

积分

积分
594
6#定制软件#
发表于 2017-7-13 07:52:06 | 只看该作者
很好独特运行速度也很快卖家很专业

回复 支持 反对

使用道具 举报

0

主题

583

帖子

575

积分

积分
575
7#定制软件#
发表于 2017-7-13 08:48:35 | 只看该作者
机会继续合作,同时希望后期多多帮助。

回复 支持 反对

使用道具 举报

0

主题

1015

帖子

1035

积分

积分
1035
8#定制软件#
发表于 2017-7-17 16:42:23 | 只看该作者
好,速度快,下次碰到问题还来找您!

回复 支持 反对

使用道具 举报

0

主题

632

帖子

630

积分

积分
630
9#定制软件#
发表于 2017-7-18 19:10:25 | 只看该作者
好店家。感谢,感谢。

回复 支持 反对

使用道具 举报

0

主题

624

帖子

604

积分

积分
604
10#定制软件#
发表于 2017-7-21 10:39:22 | 只看该作者
,方便实用,卖家很耐心回答问题,谢谢卖家

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关导读
群发软件苹果脚本配置config小实例
苹果脚本配置config小实例 https://www.yuque.com/aiwork/dcvhmb/qolobpysdg0hvi2e
群发软件苹果脚本矩形类rect小实例
苹果脚本矩形类rect小实例
群发软件AIWROK安卓苹果平台设计的实用工具库
AIWROK安卓苹果平台设计的实用工具库
群发软件AIWROK软件Function导入方法实例演示
AIWROK软件Function导入方法实例演示
群发软件苹果脚本实例1项目project应用示例
苹果脚本实例1项目project应用示例
群发软件苹果脚本实例1剪贴板功能集成
苹果脚本实例1剪贴板功能集成
群发软件苹果iOS脚本Detect类系统性使用示例
苹果iOS脚本Detect类系统性使用示例
群发软件AIWROK苹果系统打印H5界面日志输出
AIWROK苹果系统打印H5界面日志输出
群发软件H5案例自动化看广告撸金币系统
H5案例自动化看广告撸金币系统
群发软件AIWROK苹果脚本H5任务执行小例子
AIWROK苹果脚本H5任务执行小例子
群发软件AIWROK软件苹果水平容器[Horizontal]小实例
AIWROK软件苹果水平容器[Horizontal]小实例
群发软件AIWROK苹果脚本实例1界面UI输入框类[Input]
AIWROK苹果脚本实例1界面UI输入框类
群发软件AIWROK软件苹果脚本案例1空白站位[Space]方法
AIWROK软件苹果脚本案例1空白站位[Space]方法
群发软件AIWROK软件苹查系统复选框用法
AIWROK软件苹查系统复选框用法
群发软件苹果AIWROK实例单选按钮组类[RadioButtonGroup]完整综合示例
苹果AIWROK实例单选按钮组类[RadioButtonGroup]完整综合示例
群发软件AIWROK软件苹果实例UI-垂直容器[Vertical]高级综合示例
AIWROK软件苹果实例UI-垂直容器[Vertical]高级综合示例
群发软件IOS苹果脚本View的完整功能实例
IOS苹果脚本View的完整功能实例
群发软件AIWROK苹果系统实例演示1标签类[Label]方法
AIWROK苹果系统实例演示1标签类[Label]方法
信息发布软件AIWROK软件苹果UI按钮Button方法示例
AIWROK软件苹果UI按钮Button方法示例
信息发布软件AIWROK软件苹果TAB界面视图示例
AIWROK软件苹果TAB界面视图示例
信息发布软件AIWROK苹果系统自带view视图简洁UI界面示例
AIWROK苹果系统自带view视图简洁UI界面示例
信息发布软件汇集HID安卓输入文字的方法和复制粘贴示例
汇集HID安卓输入文字的方法和复制粘贴示例
信息发布软件AIWROK软件找字与OCR方法汇总示例
AIWROK软件找字与OCR方法汇总示例
信息发布软件AIWROK软件找图方法汇总示例
AIWROK软件找图方法汇总示例
信息发布软件AIWROK软件滑动方法集合示例
AIWROK软件滑动方法集合示例
信息发布软件AIWROK软件安卓AIWROK汇集软件点击
AIWROK软件安卓AIWROK汇集软件点击
信息发布软件苹果系统点击方法综合示例
苹果系统点击方法综合示例
信息发布软件AIWROK苹果系统找图方法完整示例集合
AIWROK苹果系统找图方法完整示例集合
信息发布软件苹果系统找图方法完整示例集合
苹果系统找图方法完整示例集合
信息发布软件苹果IOS系统找字OCR方法例子
苹果IOS系统找字OCR方法例子
信息发布软件AIWORK软件数组高级示例
AIWORK软件数组高级示例
信息发布软件AIWROK软件运算符封装库示例
AIWROK软件运算符封装库示例
信息发布软件AIWROK软件语法运行小示例
AIWROK软件语法运行小示例
信息发布软件AIWROK软件JS循环小示例
AIWROK软件JS循环小示例
信息发布软件AIWROK软件H5网页被主脚本获取值用法
AIWROK软件H5网页被主脚本获取值用法
信息发布软件AIWROK软件创建可暂停恢复的多线程任务
AIWROK软件创建可暂停恢复的多线程任务
信息发布软件AIWROK软件类型转换方法例子
AIWROK软件类型转换方法例子
信息发布软件AIWROK软件H5脚本执行与进度显示
AIWROK软件H5脚本执行与进度显示 .
信息发布软件AIWROK软件根据时间段执行异步任务支持多线程并行处理
AIWROK软件根据时间段执行异步任务支持多线程并行处理
信息发布软件H5自动开关执行脚本功能演示
H5自动开关执行脚本功能演示
信息发布软件AIWROK软件H5单选脚本运行示例
AIWROK软件H5单选脚本运行示例
信息发布软件H5任务脚本选择与执行中心
H5任务脚本选择与执行中心
信息发布软件H5里CheckBox控件演示
H5里CheckBox控件演示
信息发布软件AIWROK软件正则用法实际例子
AIWROK软件正则用法实际例子
信息发布软件AIWROK软件权限管理器实现
AIWROK软件权限管理器实现
信息发布软件AIWORK软件节点方法无碍示例子
AIWORK软件节点方法无碍示例子
信息发布软件JSON.stringify 和 JSON.parse 完整示例
JSON.stringify 和 JSON.parse 完整示例
信息发布软件AIWROK软件展示JavaScript各种语句标识符的用法
AIWROK软件展示JavaScript各种语句标识符的用法
信息发布软件JS巧妙地组合使用各种条件语句
JS巧妙地组合使用各种条件语句
信息发布软件AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
AIWROK手机数据库MySQL数据库截图片批量上传操作脚本
信息发布软件HID中文输入智能打字功能
HID中文输入智能打字功能
信息发布软件AIWROK软件对象工具函数库例子
AIWROK软件对象工具函数库例子
信息发布软件AIWROK软件H5交互演示黄色主题
AIWROK软件H5交互演示黄色主题
信息发布软件H5单按钮执行脚本示例
H5单按钮执行脚本示例
信息发布软件苹果H5界面完整调用脚本示例
苹果H5界面完整调用脚本示例
信息发布软件AIWROK软件平台设备信息全面检测工具例子
AIWROK软件平台设备信息全面检测工具例子
信息发布软件AIWROK创建和放大日志窗口并展示动态内容
AIWROK创建和放大日志窗口并展示动态内容
信息发布软件AIWROK软件device相关方法获取设备信息例子
AIWROK软件device相关方法获取设备信息例子[/backcolor]
信息发布软件数据库MySQL实时内容随机调用
数据库MySQL实时内容随机调用
信息发布软件AIWROK软件分享一个特效苹果H5页面
AIWROK软件分享一个特效苹果H5页面
信息发布软件数据库MYQ业务流程心跳程序启动
数据库MYQ业务流程心跳程序启动
信息发布软件数据库MySQL功能支持创建表插入中文数据查询删除功能例子
数据库MySQL功能支持创建表插入中文数据查询删除功能例子
信息发布软件AIWROK软件Zip 高级操作复杂示例
AIWROK软件Zip 高级操作复杂示例
信息发布软件AIWROK软件txt_文件读写方法小结
AIWROK软件txt_文件读写方法小结
信息发布软件AIWROK软件file文件操作方法小结
AIWROK软件file文件操作方法小结

QQ|( 京ICP备09078825号 )

本网站信息发布软件,是可以发布论坛,发送信息到各大博客,各大b2b软件自动发布,好不夸张的说:只要手工能发在电脑打开IE能发的网站,用这个宣传软件就可以仿制动作,进行推送发到您想发送的B2B网站或是信息发布平台上,不管是后台,还是前台,都可以进行最方便的广告发布,这个广告发布软件,可以按月购买,还可以试用软件,对网站的验证码也可以完全自动对信息发布,让客户自动找上门,使企业轻松实现b2b发布,这个信息发布软件,均是本站原创正版开发,拥有正版的血统,想要新功能,欢迎提意见给我,一好的分类信息群发软件在手,舍我其谁。QQ896757558

GMT+8, 2026-3-19 23:10 , Processed in 0.452888 second(s), 55 queries .

宣传软件--信息发布软件--b2b软件广告发布软件

快速回复 返回顶部 返回列表