Arama butonu
Bu konudaki kullanıcılar: 1 misafir
11
Cevap
2018
Tıklama
0
Öne Çıkarma
VB için yardım
M
6 yıl
Yarbay
Konu Sahibi

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?

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



H
6 yıl
Yüzbaşı

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



< Bu ileti mobil sürüm kullanılarak atıldı >

T
6 yıl
Yarbay


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.



M
6 yıl
Yarbay
Konu Sahibi

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ı >
Bu mesaja 1 cevap geldi.
T
6 yıl
Yarbay

'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...




Bu mesajda bahsedilenler: @MetalWave
S
6 yıl
Yüzbaşı

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 >
Bu mesaja 1 cevap geldi.
M
6 yıl
Yarbay
Konu Sahibi

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @seyfi84
T
6 yıl
Yarbay

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ı >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @MetalWave
M
6 yıl
Yarbay
Konu Sahibi

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 >
Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @vonderplanitz
T
6 yıl
Yarbay

Denediğim kod, Screenshot olarak :)
< Resime gitmek için tıklayın >
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.




Bu mesajda bahsedilenler: @MetalWave
G
6 yıl
Yarbay

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()


Bu mesaja 1 cevap geldi.
M
6 yıl
Yarbay
Konu Sahibi

tşk ederim en kısa zamanda denicem, copy paste yolunda emin adımlarla ilerlicem :)



< Bu ileti DH mobil uygulamasından atıldı >


Bu mesajda bahsedilenler: @Gökşen PASLI
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.