• C#窗体钉在桌面、置底、嵌入桌面的办法


    想做一个桌面时钟,钉在桌面上不影响正常使用,只在看桌面的时候显示。

    从网上多方寻找找到这么个代码,但是还是有不方便的地方,大家探讨一下。

    这个程序在使用“显示桌面”的时候还可以显示,将程序的Form1.cs改为:

    [csharp] view plaincopy
    1. using System;  
    2. using System.Collections.Generic;  
    3. using System.ComponentModel;  
    4. using System.Data;  
    5. using System.Drawing;  
    6. using System.Text;  
    7. using System.Windows.Forms;  
    8. using System.Runtime.InteropServices;  
    9.   
    10. namespace cbgfinder  
    11. {  
    12.     public partial class Form1 : Form  
    13.     {  
    14.         [DllImport("user32.dll", CharSet = CharSet.Auto)]  
    15.         public static extern IntPtr FindWindow([MarshalAs(UnmanagedType.LPTStr)] string lpClassName, [MarshalAs(UnmanagedType.LPTStr)] string lpWindowName);  
    16.   
    17.         [DllImport("user32")]  
    18.         private static extern IntPtr FindWindowEx(IntPtr hWnd1, IntPtr hWnd2, string lpsz1, string lpsz2);  
    19.   
    20.         [DllImport("user32.dll")]  
    21.         public static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);  
    22.   
    23.         public Form1()  
    24.         {  
    25.             InitializeComponent();             
    26.         }  
    27.   
    28.         private void Form1_Load(object sender, EventArgs e)  
    29.         {  
    30.             IntPtr pWnd = FindWindow("Progman", null);  
    31.             pWnd = FindWindowEx(pWnd, IntPtr.Zero, "SHELLDLL_DefVIew", null);  
    32.             pWnd = FindWindowEx(pWnd, IntPtr.Zero, "SysListView32", null);  
    33.             //IntPtr tWnd = new System.Windows.Interop.WindowInteropHelper(this).Handle;  
    34.               
    35.             SetParent(this.Handle, pWnd);  
    36.         }  
    37.     }  
    38. }  

    代码的下载地址是:http://download.csdn.net/detail/icyfox_bupt/4382848 没资源分

    这个程序的问题在于,如果我想写:

    [csharp] view plaincopy
    1. this.FormBorderStyle=None  

    就是设置无边框程序,就没法钉在桌面,就成了正常的程序了

    大家一起来讨论一下吧。

  • 相关阅读:
    jQuery 遍历 table
    jQuery下拉框三级联动
    C# 读取Excel模板 修改某行某列的值 另存为新的Excel
    jQuery iframe之间相互调用
    设计模式
    Rookey.Frame企业级快速开发框架(学习笔记)
    在Gridview中实现多选
    Gridview改变单元格颜色
    SQLserver函数编写和使用方法
    SVN服务器搭建和使用(转载)
  • 原文地址:https://www.cnblogs.com/gc2013/p/3968578.html
Copyright © 2020-2023  润新知