Şimdi Ara

VB için yardım

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
13
Cevap
0
Favori
1.525
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Dim screenshot As System.Drawing.Bitmap
    Dim graph As Graphics
    bounds = Screen.PrimaryScreen.Bounds
    screenshot = New System.Drawing.Bitmap(252, 136, System.Drawing.Imaging.PixelFormat.Format32bppArgb)
    graph = Graphics.FromImage(screenshot)
    graph.CopyFromScreen(101, 297, 0, 0, bounds.Size, CopyPixelOperation.SourceCopy)
    screenshot.Save(Application.StartupPath + "\PM.jpg")
    Dosya_Eki = New System.Net.Mail.Attachment(Application.StartupPath + "\PM.jpg")

    Mail.Attachments.Add(Dosya_Eki)



    üstte ekranın belirli bir bölümünü ss alıp mail atıyorum. sorunsuz çalışıyor ama resmi çekip hdd ye kaydetip sonra gönderebiliyorum. acaba hdd ye kaydetmeden direk nasıl gönderirim?



  • Geçici klasör gibi bir yere kaydedip gönderdikten sonra silebilirsiniz.

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
    Dosya_Eki 'nin kullandığı 'System.net.Mail.Attachment' metodu PM.jpg gibi bir dosya kabul ediyor.Dosya değil de, System.Drawing.Bitmap gibi nesne kabul eden bir metod olması gerekli. 10+ yıldır VB kullanmadığım için tabi ki onu bilmem, referans dokümanlardan bir bakmalısın.
  • bulamadım. çok hakim değilim, aklıma gelen hdd ye yazmak yerine ram e yazıp ordan göndermek ama öyle bir mantık bulamadım

    < Bu ileti DH mobil uygulamasından atıldı >
  • MetalWave kullanıcısına yanıt
    'heap' denilen uygulamanın serbestce kullanabildiği RAM alanında Screenshot imajını oluşturmalısın ki Screenshot nesnesini oluşturduğun anda o heap'te tutuluyor zaten. Yapacağın şey

    System.Net.Mail Attachment without storing on disk

    gibi anahtar kelimelerle Google'da biraz aramak cıkan C# ve VB.net kodlarını denemek...
  • Cinlerim tepeme geliyor şerefsizim şöyle konuları görünce...
    Bak arkadaş, öncelikle sen gerçek programcı falan değilsin, kopyala-yapıştır birşey bulmuşsun bir yerden, anlamadan iman gücüyle birşeyler yapıyorsun.
    Sorunun Basic'le ilgisi yok.
    Bak sen .Net framework kullanıyorsun. Object oriented bir framework. O çağırdığın şey metot değil, bir constructor, bak başında New var (basic, case insensitive bir dildir).
    şimdi git resmi .Net framework'te Attachment class'ının diğer constructor'larına bak (ipucu: stream olanı kullanacaksın, tabii onun ne demek olduğunu anlarsan)

    ek: VB 6.0 bilgisi ile bu kodları anlayamazsın, bu VB.Net, object-oriented, çok farklı



    < Bu mesaj bu kişi tarafından değiştirildi seyfi84 -- 2 Ağustos 2019; 21:32:39 >
  • seyfi84 S kullanıcısına yanıt
    hayırdır bir sıkıntın mı var :) proğramcı değilim, mesleğimde değil. evet kopyala yapıştırla yapıyorum. macro yazdım vb net kullanarak. ne bu agresiflik anlamadım.

    < Bu ileti DH mobil uygulamasından atıldı >
  • MetalWave kullanıcısına yanıt
    Yapmak istediğin işlem, ileri düzey vb.net bilgisi gerektiriyor. Benim bilgisayarda vb.net derleyicisi varmış, senin "alıntı" kodu merak edip biraz denedim ve screenhot imajı (ki formatı jpg değil, png cunku denediğimde imaj png formatında kaydetti) hiç dosyaya kaydetmeksizin, Process.Start() metodu ile bilgisayarımdaki default app olan IrfanView.exe ile açmayı denedim "MemoryStream" gibi ileri düzey sınıflarla bir yapı kurarak yapılabildiğini fark ettim, vb.net bilgim cok olmadığından yapmayıp bıraktım.

    Arkadaşın tepkisi bununla ilgili bir durum olmalı. Yani bir yerden kod alıp uyarlayarak Screenshot resmi Mail Attachment yapmak işlemini yapabiliyorsun okey fakat resmi dosyalaştırmadan direk Attachment yapmak ileri düzey vb.net veya c# bilgisi gerektiriyor.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • anladım ne demek istediğini. actool da macro yazarken yetmeyip kendimi vb.net de buldum. vb.net ile autoit in oyuna tuş gönderimini kullanıp(oyun engelliyor diğer türlü) oyunda ki pixellerin renklerini okuyup oyuna bot yazdım. bot çok detaylı oldu.
    bu mail olayıda şurdan, ben pc de yok iken bana gelen mesajın olduğu yeri kesip maile ek yapıp gönderiyor. yazıyı okumuyor yazının resmini alıyor. arkadaşın dediği bilgide olsam zaten oyunun inject edip tüm veriyi kodlama ile okutur maile ek yapmak gibi şeyler yerine androidden ek küçük proğram yazar anlık bilgi akışı yapar işi paraya bile dökebilirdim.

    herhangi yerden ders almadım, "alıntı" ları birleştirip hiç bir yerde örneği olmayan bir bot yazdım. aynı mantıkta botlar var bu oyunda ama macro hepsi en fazla 1 saat bakmadan bırakabilirsin. ekrandaki pixellerin renk kodunu okuyarak alışverişini yapıp slota dönen ve maille bildirim yapan bottan bahsediyorum. internet gitmediği sürece durmayan bir bot

    verdiğiniz bilgiler için tşk ederim.



    < Bu mesaj bu kişi tarafından değiştirildi MetalWave -- 3 Ağustos 2019; 23:42:56 >




  • MetalWave kullanıcısına yanıt
    Denediğim kod, Screenshot olarak :)
    VB için yardım

    Bu kod mono vb.net derleyici ile sorunsuz derleniyor ve çalışıyor. Çalıştığında Windows'un default temp klasöründe tmp uzantılı SS imajı oluşturup onu açmaya çalışıyor, kullanılacak program olarak IrfanView'ı seçince de SS 'i gösteriyor.
  • gmail isehttps://myaccount.google.com/lesssecureapps?pli=1 açık olacak


    Dim screenshot As System.Drawing.Bitmap
    screenshot = New System.Drawing.Bitmap(252, 136, System.Drawing.Imaging.PixelFormat.Format32bppArgb)
    Dim graph As Graphics
    graph = Graphics.FromImage(screenshot)
    graph.CopyFromScreen(101, 297, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy)
    Dim mail As New MailMessage()
    Dim SmtpServer As New SmtpClient("smtp.gmail.com")
    mail.From = New MailAddress("kendi email adresi")
    mail.[To].Add("giden email adresi")
    mail.Subject = "Test Mail"
    mail.Body = "mail with attachment"
    SmtpServer.Port = 587
    SmtpServer.Credentials = New System.Net.NetworkCredential("kullanıcıadı", "şifre")
    SmtpServer.EnableSsl = True
    Dim ms As New MemoryStream()
    screenshot.Save(ms, ImageFormat.Jpeg)
    ms.Position = 0
    Dim ct As New ContentType()
    ct.MediaType = MediaTypeNames.Image.Jpeg
    Dim data as New Attachment(ms, ct)
    mail.Attachments.Add(data)
    SmtpServer.Send(mail)

    ms.Dispose()




  • Gökşen PASLI G kullanıcısına yanıt
    tşk ederim en kısa zamanda denicem, copy paste yolunda emin adımlarla ilerlicem :)

    < Bu ileti DH mobil uygulamasından atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.