Merhabalar
Webbrowser içinde açılan bir web sitesinden açılan file upload a dosya yolu göndermek istiyorum
Bunun için postmessage kullanmam gerekiyor.
Kodlarım şöyle
var elements = webBrowser1.Document.GetElementsByTagName("input") ; // File uplad ı açıyoruz
foreach (HtmlElement file in elements)
{
if (file.GetAttribute("type") == "file")
{
file.Focus();
file.InvokeMember("click");
break;
}
}
string path = System.IO.Path.GetDirectoryName(Assembly.GetExecut ingAssembly().Location);
string gelenResim = "1.jpg";
string DosyaYolu = Path.Combine(path, gelenResim); // Dosya yolu
int hwnd2 = 0;
hwnd2 = FindWindow("#32770", null);
#region bu kodları henüz çözemedim
//IntPtr val = new IntPtr((Int32)'0');
//PostMessage((IntPtr)hwnd2, WM_KEYDOWN, new IntPtr(VK_RETURN), new IntPtr(0));
//PostMessage((IntPtr)hwnd2, WM_KEYUP, new IntPtr(VK_RETURN), new IntPtr(0));
//PostMessage((IntPtr)hwnd2, WM_KEYDOWN, val, new IntPtr(0));
//PostMessage((IntPtr)hwnd2, WM_SETTEXT, (IntPtr)val, new IntPtr(0));
#endregion
#region bukodlar çalışmıyor
PostMessage((IntPtr)hwnd2, WM_KEYDOWN, (IntPtr)(50 - 0x020), IntPtr.Zero);
SendMessage(hwnd2, WM_KEYDOWN, (25 - 0x020), IntPtr.Zero);
for (int i = 0; i < DosyaYolu.Length; i++)
{
byte kar = (byte)DosyaYolu[i];
PostMessage((IntPtr)hwnd2, WM_SETTEXT, (IntPtr)kar, new IntPtr(0));
}
#endregion
#region açılan file upload ı kapatma kodu
//int hwnd = 0;
//IntPtr hwndChild = IntPtr.Zero;
//hwnd = FindWindow("#32770", null); // File Upload handle
//SendMessage(hwnd, WM_CLOSE, 0, IntPtr.Zero); // Bu açılan file uplad ı kapatıyor
#endregion
nerede yanlış yapıyorum acaba?
Projemi de bu linkten indirip kontrol edebilirsiniz
http://on11.net/test.rar
c# File Upload'a dosya yolu göndermek
2
●102
- 26-02-2020, 22:01:27valla 2019 kullanıyorum ve bir haftadır bu sorunu çözmeye uğraşıyorummarjinaltasarim adlı üyeden alıntı: mesajı görüntüle