1 Son düzenleyen, antepli (11.05.2015 21:36:10)

Konu: formdaki Web browser objesinin RightClick

forma koydugum bir  web browser objesinin içerigini

m_dosya="c:\deneme.html"

THISFORM._Web.Navigate("file://" + m_dosya)
DO While THISFORM._Web.Busy
  If Seconds() - lnOldSecond > lnTimeOut
    Exit
  EndIf
  Inkey(0.5)
ENDDO


bu şekilde  dolduruyorum, yalnız browser üzerinde mouse  RightClick yapılınca
menü açılıyor bunu engellek için neyapmalıyım ?

Bilgi Paylaşıldıkça Artar...!

2

Re: formdaki Web browser objesinin RightClick

Araya çok sayıda yıllar girdiği için, çok emin konuşamiyorum. Ama yanşlış hatırlamiyorsam, senin gösterdiğin yöntem ile ben çok çabuk duvara tosladım ve bu nedene

Visual Fox Pro
CREATEOBJECT( "InternetExplorer.Application")


ile çalışmaya başladım.
Burda her türlü atraksiyonları yapabiliyorsun. Örneğin:

Visual Fox Pro
THIS.oIE = CREATEOBJECT( "InternetExplorer.Application")

WITH THIS.oIE
    .NAVIGATE(cUrl)
    .MenuBar    = .F.
    .AddressBar = .F.
    .TOOLBAR    = .F.
    .WIDTH      = 600
    .HEIGHT     = 500
    .TOP        = 10
    .LEFT       = 10
ENDWITH

İstersen gösterebilirsin, istersen göstermeden biryerlere gidip ordaki sayfalarda birşeyler yapabilirsin, istersen kendi formuna dahil edebilirsin (keyword: bind) vs.
Sağ-klik engelleme imkanı varmı yokmu bilmiyorum. Ama var ise, burda vardır.

Bol şanslar.

Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

3

Re: formdaki Web browser objesinin RightClick

Mehmet bey ;
Cevabınız için teşekkürler. internette araştırma yaparken Çetin beyin kodlarına ulaştım.Tam aradığım gibi bir kod ufak bir Fakat ile Çetin beye sormak istiyorum.

Çetin bey ;
1- web sitesindeki resimleri göstermiyor acaba neden.
2-Excel den veya word den tek başına çalışır html olarak kaydettiğimiz dosyalarıda açmamız mümkünmü.
3-Şansımızı birazdaha zorlayarak smile) pdf dosyalarını göstermek mümkünmü ?

Burada benim amacım bu tür bilgilerin yazdırılmasını ve kopyalanmasını engellemek.Başka önerilerede açıgım.

Aşagıda Çetin beyin kodlarını ekledim .


SET SAFETY OFF
lcHTMLFile = FORCEPATH(SYS(2015)+'.htm',SYS(2023))
getFileFromURL("http://www.microsoft.com",m.lcHtmlFile)
lcContent = FILETOSTR(m.lcHtmlFile)
STRTOFILE(;
STUFF(m.lcContent,;
ATC('<body',m.lcContent)+LEN('<body'),0,' oncontextmenu="return false"'),;
m.lcHTMLFile)

public oForm
oForm = newobject('HTMLViewerForm')
oForm.show
with oForm.htmlviewer
  .navigate2(m.lCHTMLFile)
  DO WHILE .ReadyState # 4
  ENDDO
  ERASE (m.lcHTMLFile)
endwith

Procedure getFileFromURL
  Lparameters tcRemoteFile,tcLocalFile
  Declare Integer URLDownloadToFile In urlmon.Dll;
    INTEGER pCaller, String szURL, String szFileName,;
    INTEGER dwReserved, Integer lpfnCB
  Return URLDownloadToFile(0, m.tcRemoteFile, m.tcLocalFile, 0, 0)

define class HTMLViewerForm as form
  height = 500
  width = 800
  add object htmlviewer as olecontrol with ;
    height = 500, width = 800, visible = .t., ;
    oleclass = 'Shell.Explorer'

  procedure htmlviewer.refresh
    nodefault
  endproc
enddefine

Bilgi Paylaşıldıkça Artar...!

4

Re: formdaki Web browser objesinin RightClick

Sayın Antepli

İleti bölümün üstündeki icon'lar elbette görüntüyü renklendirme için tasarlanmış olduğunu düşünebilirsiniz.
Ama gerçek o ki, onların bunun dışındada bir fonksiyonları var.
Örneğin ekteki resimde vurguladığım icon'a bir tık atıkdan sonra kodunuzu yerleştirirseniz, o zaman kodunuzu okumak isteyenler için bu girişim biraz daha kolaylaşmış olur.

Visual Fox Pro
SET SAFETY OFF

lcHTMLFile = FORCEPATH(SYS(2015)+'.htm',SYS(2023))
getFileFromURL("http://www.microsoft.com",m.lcHtmlFile)
lcContent = FILETOSTR(m.lcHtmlFile)
STRTOFILE(;
    STUFF(m.lcContent,;
    ATC('<body',m.lcContent)+LEN('<body'),0,' oncontextmenu="return false"'),;
    m.lcHTMLFile)
 
PUBLIC oForm
oForm = NEWOBJECT('HTMLViewerForm')
oForm.SHOW
WITH oForm.htmlviewer
    .navigate2(m.lCHTMLFile)
    DO WHILE .ReadyState # 4
    ENDDO
    ERASE (m.lcHTMLFile)
ENDWITH
 
PROCEDURE getFileFromURL
    LPARAMETERS tcRemoteFile,tcLocalFile
    DECLARE INTEGER URLDownloadToFile IN urlmon.DLL;
        INTEGER pCaller, STRING szURL, STRING szFileName,;
        INTEGER dwReserved, INTEGER lpfnCB
    RETURN URLDownloadToFile(0, m.tcRemoteFile, m.tcLocalFile, 0, 0)
 
DEFINE CLASS HTMLViewerForm AS FORM
    HEIGHT = 500
    WIDTH = 800
    ADD OBJECT htmlviewer AS OLECONTROL WITH ;
        HEIGHT = 500, WIDTH = 800, VISIBLE = .T., ;
        OLECLASS = 'Shell.Explorer'
 
    PROCEDURE htmlviewer.REFRESH
        NODEFAULT
    ENDPROC
ENDDEFINE

smile

İleti eklentileri

icons.gif
icons.gif 6.89 kb, 2 kez indirildi, 2015-05-13 tarihinden itibaren 

Bu iletideki eklenti/leri indirmeye yetkiniz yok.
Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

5

Re: formdaki Web browser objesinin RightClick

antepli yazdı:

Mehmet bey ;
Cevabınız için teşekkürler. internette araştırma yaparken Çetin beyin kodlarına ulaştım.Tam aradığım gibi bir kod ufak bir Fakat ile Çetin beye sormak istiyorum.

Çetin bey ;
1- web sitesindeki resimleri göstermiyor acaba neden.
2-Excel den veya word den tek başına çalışır html olarak kaydettiğimiz dosyalarıda açmamız mümkünmü.
3-Şansımızı birazdaha zorlayarak smile) pdf dosyalarını göstermek mümkünmü ?

Burada benim amacım bu tür bilgilerin yazdırılmasını ve kopyalanmasını engellemek.Başka önerilerede açıgım.

1) Resimin yolunu bulamiyordur.
2) Evet.
3) Evet.

O amaca yardimci olmaz. Onun icin herhangi bir yol bilmiyorum.

6

Re: formdaki Web browser objesinin RightClick

antepli yazdı:

(...).Başka önerilerede açıgım.

Tam anlıyamadığım bir konu: html dosyaları sizin tarafınızdanmı üretiliyor? Durum böyle ise: html'nin içine javascript kod gömerek sağ klik engelleniyor.
Html kodlar size ait değil ise: benim belirtiğim yöntem ile

Visual Fox Pro
THIS.oIE.DOCUMENT.Body.innerhtml

html kodlara ulaşbiliyorsunuz. Onun içinede javascript kodları ınsert edebilirsiniz.
Ama tabii karşı tarafda javascript kapalı ise, o zaman bu işlemler işe yaramaz.

Bir projenin bitmesi için 3 seçenek vardır: hızlı, ucuz, iyi. Bu seçeneklerden iki tanesini seçiniz.

7

Re: formdaki Web browser objesinin RightClick

cetinbasoz yazdı:
antepli yazdı:

Mehmet bey ;
Cevabınız için teşekkürler. internette araştırma yaparken Çetin beyin kodlarına ulaştım.Tam aradığım gibi bir kod ufak bir Fakat ile Çetin beye sormak istiyorum.

Çetin bey ;
1- web sitesindeki resimleri göstermiyor acaba neden.
2-Excel den veya word den tek başına çalışır html olarak kaydettiğimiz dosyalarıda açmamız mümkünmü.
3-Şansımızı birazdaha zorlayarak smile) pdf dosyalarını göstermek mümkünmü ?

Burada benim amacım bu tür bilgilerin yazdırılmasını ve kopyalanmasını engellemek.Başka önerilerede açıgım.

1) Resimin yolunu bulamiyordur.
2) Evet.
3) Evet.

O amaca yardimci olmaz. Onun icin herhangi bir yol bilmiyorum.


Çetin bey;
Pdf dosyalarını gösterme derken mose sag kılik yapamadan demek istemiştim .Yoksa pdf dosyalarını zaten ERP yazılımımızıda  web browser obje ile gösteriyordum.
Aslında kuruma ait özel pdf dosyaları var, kurum içi bilgi içeren bu dosyalardaki bilgileri çalışanlar yazdırmasın veya dosya şeklinde copyalayıpalmasınlar isteniyor.Bunun için önlem alınması gerekiyordu.
Bende düşündüm sağ kılik engellene bilirse sorun çözülecek sonra forma yazdım ve internette araştırma yaparken sizin kodlara ulaştım.Eger bunu uyglaya bilirsem problem çözülmüş olacak.Fakat pdf dosyasını açtıgım browsere kodları uyarladım dosya bozulmuş bir şekilde browsere geliyor bunu çözemedim.

Bilgi Paylaşıldıkça Artar...!

8 Son düzenleyen, antepli (13.05.2015 23:44:36)

Re: formdaki Web browser objesinin RightClick

Mehmet K yazdı:
antepli yazdı:

(...).Başka önerilerede açıgım.

Tam anlıyamadığım bir konu: html dosyaları sizin tarafınızdanmı üretiliyor? Durum böyle ise: html'nin içine javascript kod gömerek sağ klik engelleniyor.
Html kodlar size ait değil ise: benim belirtiğim yöntem ile

Visual Fox Pro
THIS.oIE.DOCUMENT.Body.innerhtml

html kodlara ulaşbiliyorsunuz. Onun içinede javascript kodları ınsert edebilirsiniz.
Ama tabii karşı tarafda javascript kapalı ise, o zaman bu işlemler işe yaramaz.


Mehmet bey ;

Aslında olay pdf dosyası üzerinden dönüyor.Web browser obeje üzerinden çagırdıgım için hani belki böyle bir medot vardır umudu ile yazmıştım. PDF Dosyaları uretim esnasında oluşuyor,gerekli birimlere web browser obje ile gösteriliyor.PDf Dsoyalarını htmly çevirerek çözülebilir gibi geldi bana. Hani başka fikirlere açıgım derken web browser objeden başka bir metod ilede yapabilirsek onuda tercih ederim demek istedim .


Unutmadan birde üsteki yazımda kodları yapıştırdım mesajda ben aslında iki nokta ve kapalı paratez yapşıtım o öyle çıkmış.Kodları beyaz zeminde nasıl konuluyor bilmiyordum ondan dolayı görünümü öyle oldu.

Bilgi Paylaşıldıkça Artar...!

9

Re: formdaki Web browser objesinin RightClick

antepli yazdı:
cetinbasoz yazdı:
antepli yazdı:

Mehmet bey ;
Cevabınız için teşekkürler. internette araştırma yaparken Çetin beyin kodlarına ulaştım.Tam aradığım gibi bir kod ufak bir Fakat ile Çetin beye sormak istiyorum.

Çetin bey ;
1- web sitesindeki resimleri göstermiyor acaba neden.
2-Excel den veya word den tek başına çalışır html olarak kaydettiğimiz dosyalarıda açmamız mümkünmü.
3-Şansımızı birazdaha zorlayarak smile) pdf dosyalarını göstermek mümkünmü ?

Burada benim amacım bu tür bilgilerin yazdırılmasını ve kopyalanmasını engellemek.Başka önerilerede açıgım.

1) Resimin yolunu bulamiyordur.
2) Evet.
3) Evet.

O amaca yardimci olmaz. Onun icin herhangi bir yol bilmiyorum.


Çetin bey;
Pdf dosyalarını gösterme derken mose sag kılik yapamadan demek istemiştim .Yoksa pdf dosyalarını zaten ERP yazılımımızıda  web browser obje ile gösteriyordum.
Aslında kuruma ait özel pdf dosyaları var, kurum içi bilgi içeren bu dosyalardaki bilgileri çalışanlar yazdırmasın veya dosya şeklinde copyalayıpalmasınlar isteniyor.Bunun için önlem alınması gerekiyordu.
Bende düşündüm sağ kılik engellene bilirse sorun çözülecek sonra forma yazdım ve internette araştırma yaparken sizin kodlara ulaştım.Eger bunu uyglaya bilirsem problem çözülmüş olacak.Fakat pdf dosyasını açtıgım browsere kodları uyarladım dosya bozulmuş bir şekilde browsere geliyor bunu çözemedim.

O zaman html ya da pdf yerine resim kullan. Onda bile engellenemez, goruyorsa oturur yazar da. Aklima baska bir sey gelmiyor, en iyisi hic gostermemek o zaman.

10

Re: formdaki Web browser objesinin RightClick

html dosyasini sen uretiyorsan <head></head> arasina asagidaki kodu yazarak isi cozebilirsin

<script type="text/javascript">
var message="Sag Tusu Kullanamazsiniz!";

///////////////////////////////////
function clickIE4(){
if (event.button==2){
alert(message);
return false;
}
}

function clickNS4(e){
if (document.layers||document.getElementById&&!document.all){
if (e.which==2||e.which==3){
alert(message);
return false;
}
}
}

if (document.layers){
document.captureEvents(Event.MOUSEDOWN);
document.onmousedown=clickNS4;
}
else if (document.all&&!document.getElementById){
document.onmousedown=clickIE4;
}

document.oncontextmenu=new Function("alert(message);return false")
</script>

11

Re: formdaki Web browser objesinin RightClick

Sag tusu kullanmayi engellemek oradan yazi almami engellemezki.

12 Son düzenleyen, antepli (28.05.2015 09:34:21)

Re: formdaki Web browser objesinin RightClick

Konuya cevap veren arkadaşların hepsine tekrar teşekkür ederim forma iş yogunlugundan dolayı biraz geç girdim kusura bakmayın ;

Problemi 2 aşamalı şimdilik çözdüm
1.Aşamada pdf yazıcısı bir program kurdum belgeleri vfp içerisinde bu yazıcıya yönlendirdim
pdf yazıcısı program ayarları içerisinde dosyanın yazmaya karşı ve kaydetmeye koruması var onu ayarladım (admin yetkili)
2.Aşamada oluşturulan dosyayı Programın işleyişi sırasında cryptoladım ve Program içerisinde belgeyi görmek istediklerinde tekrar crypto yu çözdürüp for içerisinde web browser objesi ile gösterdim. Sorun çözüldü.

Tekrar ilgilenen arkadaşlara teşekkür ederim sağolun var olun smile

Not: web browser objesini aşagıdaki gibi düzenledim


Visual Fox Pro
TRY

            loDoc = Thisform._Web.oBJECT.Document
            WITH loDoc
                .setPageMode("thumbs")
                 .setLayoutMode("DontCare")
                 .setView("FitH")
                 .setZoom(50)
                .setShowToolbar(.F.)
                .setShowScrollbars(.T.)
            ENDWITH
        CATCH TO oErr   
        FINALLY     
            loDoc = null
ENDTRY
Bilgi Paylaşıldıkça Artar...!