熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#制作的更換壁紙程序

2022-06-13   來源: .NET編程 

  VB調用API來更換桌面的程序我想既然VB可以C#也一定能行所以就
    試著做了一下好吧來看看我的代碼吧一步一步來你也能行
    那還是先讓我們來了解一個API吧SystemParametersInfo這個API的功能
    很簡單就是通過一些參數的設置來完成對系統的一些外觀設置
    函數原型如下:
    BOOL SystemParametersInfo(
      UINT uiAction
      UINT uiParam
      PVOID pvParam
      UINT fWinIni
    );
    該函數返回一個Bool值成功否則當然是失敗了那樣的話根據MSDN的說法
    還將會設置GetLastError(關於這一點可以參考MSDN)
    這裡還必須提到的一點是關於uAction常數表這張表裡面包括了很多關於這些參數
    的設置工作因為它將影響到前面兩個參數第三個參數在我們這裡的用法是得到
    圖片的路徑第四個參數看名字也猜的到隨同這個函數設置的用戶配置參數保存在winini
    或注冊表裡或同時保存在這兩個地方一般是X或者X就可以了
    下面我在給出有關該API變成C#的代碼如下:
    [DllImport(userdll CharSet=CharSetAuto)]
    public static  extern int SystemParametersInfo (int uAction int uParam string lpvParam int fuWinIni) ;

  //圖片

  看見上面的圖了嗎?我來主要說說那個兩個button
    首先叫到的是選擇按鈕代碼如下:
    private void button_Click(object sender SystemEventArgs e)
      {
       openFileDialogInitialDirectory = @C:\\;
       if (openFileDialogShowDialog() == DialogResultOK)
       {
        textBoxText = openFileDialogFileName;
        string[] strA=textBoxTextSplit();
        Bitmap bm=new Bitmap(textBoxText);
        if(strA[]!=bmp)
        {
         filepath=strA[]+bmp;
         bmSave(filepath);
        }
        else
         filepath=textBoxText;
        thispictureBoxImage=bm;
       }
    正如你看到的那樣由於只能將BMP圖象設置成桌面所以必須要轉化一下上面是我的方法
    也許你還有更好的那就說說吧
    然後是更換按鈕代碼如下:
    private void button_Click(object sender SystemEventArgs e)
      {
       int nResult ;
       if (FileExists(filepath))
       {
        nResult = SystemParametersInfo( filepath  x | x );
        if(nResult==)
         MessageBoxShow(沒有更新成功!);
        else
        MessageBoxShow(正在更換背景圖片);
       }
       else
        MessageBoxShow(文件不存在!);
      }
    這個實現起來在簡單不過了僅僅是調用剛才上面講到的API就可以了
    好了我把全部代碼都給你很簡單如下:

  using System;
    using SystemDrawing;
    using SystemCollections;
    using SystemComponentModel;
    using SystemWindowsForms;
    using SystemData;
    using SystemRuntimeInteropServices;
    using SystemIO;
    namespace desktopWalk
    {
     /// <summary>
     /// Form 的摘要說明
     /// </summary>
     public class Form : SystemWindowsFormsForm
     {
      private SystemWindowsFormsButton button;
      private SystemWindowsFormsButton button;
      private SystemWindowsFormsTextBox textBox;
      private SystemWindowsFormsGroupBox groupBox;
      private SystemWindowsFormsGroupBox groupBox;
      private SystemWindowsFormsLabel label;
      private SystemWindowsFormsPictureBox pictureBox;
      private SystemWindowsFormsLabel label;
      private SystemWindowsFormsOpenFileDialog openFileDialog;
      private string filepath;
      /// <summary>
      /// 必需的設計器變量
      /// </summary>
      private SystemComponentModelContainer components = null;
      [DllImport(userdll CharSet=CharSetAuto)]
      public static  extern int SystemParametersInfo (int uAction int uParam string lpvParam int fuWinIni) ;
      public Form()
      {
       //
       // Windows 窗體設計器支持所必需的


From:http://tw.wingwit.com/Article/program/net/201311/11817.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.