程序控制WCC跳转画面 (程序控制word图片居中)

程序控制WCC跳转画面

WCC(Windows Clipboard Control)是一种用于控制Windows剪贴板的COM组件。我们可以使用WCC来实现程序控制跳转画面和图片居中。

跳转画面

使用WCC跳转画面非常简单,只需要以下几步:

  1. 创建一个WCC对象: IWccClipboard wccobj = NULL;
  2. 初始化WCC对象: wccobj->Initialize();
  3. 获取剪贴板数据: wccobj->GetData(CF_TEXT, &data);
  4. 判断剪贴板数据是否为URL: if (data.IsUnicode() && data.GetLength() > 4 && data.GetBuffer()[0] == 'h' && data.GetBuffer()[1] == 't' && data.GetBuffer()[2] == 't' && data.GetBuffer()[3] == 'p')
  5. 如果剪贴板数据为URL,则跳转画面: ShellExecute(NULL, NULL, data.GetBuffer(), NULL, NULL, SW_SHOW);
  6. 释放WCC对象: wccobj->Release();

图片居中

使用WCC图片居中也比较简单,只需要以下几步:

  1. 创建一个WCC对象: IWccClipboard wccobj = NULL;
  2. 初始化WCC对象: wccobj->Initialize();
  3. 获取剪贴板数据: wccobj->GetData(CF_BITMAP, &data);
  4. 判断剪贴板数据是否为图片: if (data.IsUnicode() && data.GetLength() > 4 && data.GetBuffer()[0] == 'B' && data.GetBuffer()[1] =='M' && data.GetBuffer()[2] == 'P' && data.GetBuffer()[3] == ' ')
  5. 如果剪贴板数据为图片,则居中图片: DrawCenteredImage(data.GetBuffer(), 100, 100);
  6. 释放WCC对象: wccobj->Release();

示例代码

以下是程序控制WCC跳转画面和图片居中的示例代码:

c++ include include include // 跳转画面函数 void JumpToURL() {// 创建WCC对象IWccClipboard wccobj = NULL;wccobj = CoCreateInstance(__uuidof(WccClipboard), NULL, CLSCTX_INPROC_SERVER, __uuidof(IWccClipboard));// 初始化WCC对象wccobj->Initialize();// 获取剪贴板数据_variant_t data;wccobj->GetData(CF_TEXT, &data);// 判断剪贴板数据是否为URLif (data.IsUnicode() && data.GetLength() > 4 && data.GetBuffer()[0] == 'h' && data.GetBuffer()[1] == 't' && data.GetBuffer()[2] == 't' && data.GetBuffer()[3] == 'p'){// 跳转画面ShellExecute(NULL, NULL, data.GetBuffer(), NULL, NULL, SW_SHOW);}// 释放WCC对象wccobj->Release(); }// 图片居中函数 void CenterImage(BYTE imageData, int width, int height) {// 创建WCC对象IWccClipboard wccobj = NULL;wccobj = CoCreateInstance(__uuidof(WccClipboard), NULL, CLSCTX_INPROC_SERVER, __uuidof(IWccClipboard));// 初始化WCC对象wccobj->Initialize();// 获取剪贴板数据_variant_t data;wccobj->GetData(CF_BITMAP, &data);// 判断剪贴板数据是否为图片if (data.IsUnicode() && data.GetLength() > 4 && data.GetBuffer()[0] == 'B' && data.GetBuffer()[1] == 'M' && data.GetBuffer()[2] == 'P' && data.GetBuffer()[3] == ' '){// 居中图片DrawCenteredImage(data.GetBuffer(), width, height);}// 释放WCC对象wccobj->Release(); }// 主函数 int main() {// 检测剪贴板是否发生变化while (true){// 获取剪贴板数据_variant_t data;wccobj->GetData(CF_TEXT, &data);// 判断剪贴板数据是否为URLif (data.IsUnicode() && data.GetLength() > 4 && data.GetBuffer()[0] == 'h' && data.GetBuffer()[1] == 't' && data.GetBuffer()[2] == 't' && data.GetBuffer()[3] == 'p'){// 跳转画面JumpToURL();}// 判断剪贴板数据是否为图片if (data.IsUnicode() && data.GetLength() > 4 && data.GetBuffer()[0] == 'B' && data.GetBuffer()[1] == 'M' && data.GetBuffer()[2] == 'P' && data.GetBuffer()[3] == ' '){// 居中图片CenterImage(data.GetBuffer(), 100, 100);}}return 0; }

注意事项

需要注意的是,程序控制WCC需要COM组件支持,因此需要在项目中添加comref.h和atlbase.h头文件。


word插入图片不居中是怎么回事?

word 插入图片不能居中是错误插入造成的,居中方法为:

1、打开word文档后,点击菜单栏的【插入】-【图片】-【来自文件】。

2、在跳转的窗口选好要插入的图片,单击【确定】就可以成功插入图片了。

3、鼠标单击一下图片,在图片右侧会出现【布局选项】,我们单击一下它。

4、进入布局设置页面后,如果只需对水平位置进行居中方式对其的话,按照如下图片所示设置即可。

5、回到word文档主界面,即可看到图片已被水平居中设置。

本文原创来源:电气TV网,欢迎收藏本网址,收藏不迷路哦!

相关阅读

添加新评论