顯示具有 Winform 標籤的文章。 顯示所有文章
顯示具有 Winform 標籤的文章。 顯示所有文章

[C#] Edge WebView2 擴充套件實作筆記:安裝及常見問題解析

2024-07-22

更新一下,最近在繼續研究 Edge WebView2 ,因為要處理一些麻煩的東西需要安裝外掛 (extension)

是成功安裝了,但是還有些小問題,這邊先筆記一下,之後有任何突破在更新吧..


[C#] Edge WebView2 與 WinForms:實現按鈕事件與本地代碼交互的指南

2024-06-12

今天來寫一篇關於 Edge WebView2 中會用到的部份,就是我在載入在 Edge WebView 2 中的網頁

我先注入 JQuery ,然後我加入按鈕事件以外,並且將該按鈕點擊事件中,傳入訊號給主體的 winform 

這樣就可以做到 call native code.


[C#] 在 WinForms 中使用 Edge WebView2 處理新視窗點擊事件

2024-06-07

這幾天分享一了關於 Edge WebView2 的應用,這時候有同事問我如何處理開新視窗之後的處理

他必須要模擬點擊,但是該連結為 _blank ,他必須要處理點擊後的視窗,在預設中的確會開啟一個新的視窗長這樣..


[C#] 如何在 Edge WebView2 中注入和使用 JQuery 來改變網頁內容

2024-06-05

上一篇文章簡單的介紹了 Edge WebView2 的套件,接下來,就是比較要做的常規操作,就是我們要 inject 一些 js 進去

今天主要目的就是,載入網頁後,在 inject JQuery 之後再呼叫一行 JQuery 的程式去改變網頁上面的內容.


[C#] 簡單使用 Microsoft Edge WebView2 在 WinForms 中的應用

2024-06-03

好久沒寫 WinForms 了,最近因為有一些比較麻煩的需求,所以必須使用 WinForms 來解決問題會比較簡單。

這次的需求是要操控網頁來取得一些資料,經過評估,決定使用 WinForms。然而,想到 WebView 用的是舊版的 IE 核心,本來打算使用第三方的 Chromium 套件,但查了之後發現竟然有 Microsoft 官方推出的 Edge WebView2。



[C#] 透過 skypetoken 如何取得 RegistrationToken(Bug 修正)

2020-06-03

之前有寫一個需要用到的專案,關於 skype 廣播,但是最近發現一個 不知道算不算是 bug  ,主要專案是 這個 https://github.com/donma/LazyLizard

之前寫的文章是這一篇 透過 skypetoken 如何取得 RegistrationToken ,遇到的問題在於 其中我提到 "https://client-s.gateway.messenger.live.com/v1/users/ME/endpoints",這個網址,其實他不一定是對的


[C#] Win32 改變開啟的IE網址並且瀏覽

2017-07-07

這範例的目的主要是打開所有的Internet Explorer 並且模擬輸入網址並且按下Enter 進行瀏覽,這邊是成功後主要畫面
Image 109
為何有這需求,就剛好公司專案要用到,順便筆記一下,給之後需要的人..


[C#] Winform 同一支App裡面不同的視窗有不同的Process (2)

2017-06-14

接續上篇 Winform 同一支App裡面不同的視窗有不同的Process (1) ,我們繼續實作
Image 029


[C#] Winform 同一支App裡面不同的視窗有不同的Process (1)

最近碰到一個專案,有一個需求,就是在Form 裡面,我設定為 IsMdiContainer 為 true ,裡面當然就是放一些MdiWindow ,這邊就不贅述,但是目的就是要達到每一個打開的視窗都是獨立的 Process 而且當掉了不會取影響到其他的視窗,這時候就麻煩了,到底要怎麼做到打開的視窗不去影響到其他的視窗,當然解決方法我相信還有其他的方法,這邊就先不討論,這案例做完大概會長得像是這樣:
Image 029
我程式名稱為 MutiProcessWindows 然後因為我裡面開了兩個子視窗,所以總共會有3個Process。


[C#] Winform 抓取所有開啟的Internet Explorer 開啟的網頁,並且抓到那網頁的原始碼

2017-05-19

根據上篇文章 [C#] 透過 Win32 EnumWindows 和 GetWindowText 取得所有執行程式的hWnd還有標題 我們來抓取到開啟的應用程式,這一篇我們繼續聊聊,抓到開啟的IE 並且抓取開啟網頁的原始碼,其中抓取到IE  的hWnd的部分,可以參考[C#] 透過 Win32 EnumWindows 和 GetWindowText 取得所有執行程式的hWnd還有標題 這篇文章,結果的畫面是長這樣
Image 002


[C#] 透過 Win32 EnumWindows 和 GetWindowText 取得所有執行程式的hWnd還有標題

筆記一下,基本上這一陣陣子都在弄一些視窗程式,至於程式碼從哪邊來的,我也忘記了,很有可能來自於stackoverflow 大家可以透過關鍵字去找找看,主要是紀錄一下,關鍵的地方也不完全是我寫的,主要的目的就是抓到所有執行中的程式並且把他的視窗title印出來,這樣可以拿來判斷那程式的hWnd 會有助於之後你要對他進行一些win32 的操控,我想這是第一步。

畫面:
image


[C#] Winform 偵測使用者按下關閉並且執行某行為

2017-05-05

最近因為公司專案要碰一些比較老的技術,遇到一個問題可以筆記一下,就是按下右上方關閉的時候或是呼叫FORM 的  this.Close(); 的時候如何跳出視窗確定是否關閉,或是執行其他function

很簡單就是對form 本身的 FormClosing 事件加入下列程式碼:

            if (e.CloseReason == CloseReason.UserClosing)
            {
                var res = MessageBox.Show("是否關閉?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                if (res != DialogResult.Yes)
                {
                    e.Cancel = true;
                }
            }

其中重點就是 CloseReasion 其實他還有很多判斷的選項 ,詳細內文在這邊:

image

文件位置: https://msdn.microsoft.com/zh-tw/library/system.windows.forms.closereason(v=vs.110).aspx

很簡單,筆記一下。


[Winform] 在Winform 中建置的時候自動複製檔案夾跟檔案

2017-04-12

這問題其實困擾很久了,只是都手動,最近檔案多了就很麻煩,就是在Winform 開發中,假設你再專案下面開一個檔案夾叫做sample_folder 裡面有數以千計的檔案,而且可能隨著你開發中會編修,但是你寫完編譯後的exe檔案會再bin/Debug/ 中,這時候你總不可能去讀取專案的絕對路徑吧,你一定是希望檔案夾是跟隨者.exe 左右像是這樣
image


[C#][Winform] 在Retina 下面winform 會霧霧的解決方案

2017-04-11

在Retina 下面的解析度用起來非常爽,但是最近要開發winform 的東西,每次打開都覺得自己是不是瞎了,後來發現,是因為在高解析度的狀況下winform 顯示依據會變得相對低,會讓眼睛看起來很不舒服。

後來我終於在一個地方找到解答,簡單翻譯一下 :

1.將視窗AutoScaleMode 的font 改成  Dpi

image


[Winform] 筆記一下,C#透過UDP 接收資料

2015-08-31

上一篇文章 [Winform] 筆記一下,C#透過UDP 傳送資料 傳送了資料,那如何接受透過UDP接受資料呢?
一樣這一篇是屬於C# Winform or Console 透過  System.Net 的做法,新的UWP 是不能用的,不過當你需要測試時候就很好用,範例是,一直不斷Port 1947 的所有訊息,並且Text Encoding  是 UTF8
首先先撰寫接收的程式,因為是一值不斷地在聽牌,所以是要寫while(true) 的作法


/// <summary>
  /// UDP Client
  /// </summary>
  UdpClient udpClient = new UdpClient(1947);
 
  /// <summary>
  /// UDP 一直接收Port 1947 的資料,收到後跳Messagebox
  /// </summary>
  private void ThreadRunMethod()
  {
 
      while (true)
      {
          var remoteIp = new IPEndPoint(IPAddress.Any, 0);
 
          var receivedBytes = udpClient.Receive(ref remoteIp);
 
          if (receivedBytes == null || receivedBytes.Length == 0)
              return;
          string strReceiveStr = Encoding.UTF8.GetString(receivedBytes);
          MessageBox.Show("收到資料囉: " + strReceiveStr);
      }
  }


[Winform] 筆記一下,C#透過UDP 傳送資料


先說好,這是 C# Winform or Console 透過  System.Net 的做法,新的UWP 是不能用的,但是因為最近在測試Windows 10 IoT 的東西,所以我得在電腦端這邊寫測試程式紀錄一下

1.首先,要先using


using System.Net;
using System.Net.Sockets;
using System.Text;

2.這邊範例是 傳給 IP 為 192.168.6.100 , Port : 1947 , 中文字 許當麻 , Encoding : UTF8


var socket = new Socket(AddressFamily.InterNetwork,
    SocketType.Dgram,ProtocolType.Udp);
 
var serverAddr = IPAddress.Parse("192.168.6.100");
 
var endPoint = new IPEndPoint(serverAddr, 1947);
 
string text = "許當麻";
byte[] sendByte = Encoding.UTF8.GetBytes(text);
 
socket.SendTo(sendByte, endPoint);


[Aauzre] Translate API 超簡單使用

2015-07-24

最近剛好有一些簡單的翻譯需求,結果剛好看到Azure 上面有服務
Image 049


[VS][Winform] 小技巧自動複製執行需要的環境文件至bin\debug

2013-06-07

最近又寫回winfrom 但是有一點很麻煩就是我執行的時候,
需要呼叫跟執行檔同一層級的 template 檔案夾中裡面的文字檔案..
假設這是專案路徑
C:\Users\no2on\Documents\visual studio 2012\Projects\BridgeASMX\BridgeASMX
我在Compiler debug 執行後他會把.exe 放置在
C:\Users\no2on\Documents\visual studio 2012\Projects\BridgeASMX\BridgeASMX\bin\Debug
我要呼叫的地方東西我希望被放置在
C:\Users\no2on\Documents\visual studio 2012\Projects\BridgeASMX\BridgeASMX\bin\Debug\template


[WinForm][C#] 如何在App.config 加入應用程式的設定參數

2012-10-05


可能是我很傻很天真..
最近在寫 Winform的東西..
我要去設定.. App.config 我就手動加入一些值..

原本要快快樂樂開開心心的引用但是出現.



[WinForm][C#] 如何取得網路上的圖片並顯示



這幾天在寫Winform ,大學回憶湧上心頭
畢竟畢業後我再也沒有寫過 Winform …

今天要解決是一個很白痴的小問題,因為網路程式寫太多,
覺得不是在物件的Source 丟入圖片網址像是 http://n.yam.com/news_photo/ebcnews/images/201110/M20111014544206.jpg
就應該會正常顯示阿..

再Winfrom世界是不對的..

必須把資料抓回來轉成Stream之後才可以使用Image物件將她還原..
因為很簡單所以直接貼Code


當麻許的超技八 2014 | Donma Hsu Design.