|
I have a problem at work.
I have a WPF-client. Code in C#.
I have a database with url's. We want to block the webbrowser from reaching these webpages.
We have different users. They login to the WPF-client. We want to block different url's for different users.
This shall work for different webbrowsers to.
I have looked at the host file. But i think it is one host file for every user on the computer.
Does webbrowser like IE, Firefox, Chrome, Opera have a API that i can use for this?
I would be really grateful for some advice about this
|
|
|
|
|
Please delete your duplicate of this question, posted above.
Use the best guess
|
|
|
|
|
Oscar Andersson wrote: We want to block the webbrowser from reaching these webpages. That's not a code-thing, it's something for the sysadmin.
Oscar Andersson wrote: But i think it is one host file for every user on the computer. A host file is a per-computer setting.
Oscar Andersson wrote: Does webbrowser like IE, Firefox, Chrome, Opera have a API that i can use for this? The browsers do not offer an API to block certain sites; it'd be useless since anyone could still use another app to fetcht the HTML.
Like FTP.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
The short answer is you cannot prevent a process from starting. You can kill it if it shows up.
Well, the long answers is it's possible with a ton of research work and using the Detours library to do some API hooking of the CreateProcess functions.
This is FAR better done through Group Policy. Group Policy has White and Black lists for allowing or preventing applications from running.
As for blocking web sites, this is stadandard functionality for any off-the-shelf proxy server.
...in other words... you don't need to write a single line code to do any of this stuff. This is all stuff that's better left to network administrators and their tools.
|
|
|
|
|
The first part of you answer is for my other question about blocking applications from starting from a wpf-client. I have a solution for that. Se my other question. I hope it is ok for our product.
We cant do this in the network. It will be a product that people install at their computers
|
|
|
|
|
Oscar Andersson wrote: It will be a product that people install at their computers Block a webbrowser (without knowing what is reading from the socket at port 80) on a clients computer?
You do realize people can also simply uninstall it?
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
We will have a list of webpages they cant visit. A blacklist of webpages. The customer can add and remove webpages to this blacklist.
If they want to uninstall producten is up to them. They pay for this Product
|
|
|
|
|
It doesn't change the fact that you'll still be writing a proxy server. The server wiil just be installed on the clients machine and everything that goes through TCP/IP will have to go through the proxy.
And in order to do this and prevent everything from bypassing your proxy simply by not specifying the proxy server to use, you'll have to write an NDIS driver to stick into the network stack to prevent this -- which you're not going to do in C#.
|
|
|
|
|
Your problem has nothing to do with WPF. What you need is some type of web proxy configuration. Either you set up a proxy server, or you create proxy.pac scripts for your users which will forward the request to be blocked to 127.0.0.1 (ie.e localhost, which will not respond with the expected web site). Any browser can use proxy.pac scripts.
|
|
|
|
|
Hey guys,
im pretty new to C# coding and im trying to pair my Dell Laptop (64Bit) and my Asus Win8 Tablet(32Bit) via Bluetooth.
I already found the 32feet.net library and startet coding.
My code worked just 1 time. I didnt get any answer from Tablet since then..
Here is my code, i hope someone can help me. (Its just a small one for testing)
public partial class Form1 : Form
{
private static string BTMacAddress = "00:00:00:00:00:00";
private static string Pin = "123testpin321";
private BluetoothClient Device = new BluetoothClient();
private static BluetoothAddress BTAddress = BluetoothAddress.Parse(BTMacAddress);
private BluetoothEndPoint BTEndpoint = new BluetoothEndPoint(BTAddress, BluetoothService.DialupNetworking);
public Form1()
{
InitializeComponent();
}
private void BTConnect_Click(object sender, EventArgs e)
{
if(!BluetoothSecurity.PairRequest(BTAddress,Pin))
MessageBox.Show("Failed");
else
MessageBox.Show("Done");
}
}
|
|
|
|
|
Hi, all.
First, sorry for my poor english.
Problem need a collection with elements, one of the properties must be unique.
Like this
public class Pet
{
public string Name {get; set;}
public int Age {get; set;}
}
public class Pets: Collection<Pet>
{ ...
public Pet this[string name]
{
get { return LookupPetByName(name); }
set
{
if (HavePetWithName(name))
throw new DublicateNameException(name);
SetPet(name, value);
}
}
...}
This work fine when I use indexer. But I need throw exeption, when I got object by index and change his name.
Pets.Add(new Pet("Ares", 3);
Pets.Add(new Pet("Mike", 6);
var myPet = Pets["Ares"];
myPet.Age = 3;
myPet.Name = "Mike";
Can you suggest me where to dig?
Thanks.
|
|
|
|
|
If your collection has only two Properties in it, and you wish to make sure that one of those Properties is never a duplicate: you have an easy solution.
Create a Dictionary where the Property you don't want to allow duplicates of is the Key, and the other Property is the Value:
private Dictionary<string, int> Pets = new Dictionary<string, int>(); To use this, somewhere in your code do something like this:
Pets.Add("Ares", 3);
Pets.Add("Mike", 6);
string keyToGet = "Ares";
var testKVP = Pets.FirstOrDefault(kvp => kvp.Key == keyToGet);
if (testKVP.Key == null) return;
~
“This isn't right; this isn't even wrong." Wolfgang Pauli, commenting on a physics paper submitted for a journal
|
|
|
|
|
I think that a different collection type won't help. Rather, I'd implement INotifyPropertyChanged in the objects to be collected, and subscribe that event in the Add function of the collection (and unsubscribe in the Remove function). In the event handler, check your constraint, and throw an exception when required.
|
|
|
|
|
How To Add Buttons In Textbox?
|
|
|
|
|
You cannot drag-and-drop a Button into a TextBox Control at design-time, but, yes, you could, in code, add one to the Controls Collection of a TextBox.
private void Form1_Load(object sender, EventArgs e)
{
this.Controls.Remove(button1);
textBox1.Controls.Add(button1);
button1.Location = new Point(2, 2);
button1.Click += button1_Click;
}
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("Monster speaking: 'in the TextBox: A Button'");
} But, what you end up with is a mess:
The Button will obscure what you are typing that is in the Button's DisplayRectangle ... unless you do some real weird stuff ... not even sure it could be done ... to make sure that when you typed, what you typed would never be covered over by the Button.
Believe me: you do not want to do the above !
The simple way to achieve a combination of Button(s) and TextBox, in one nice package, is to create a UserControl, and put the Button(s) where you like, and the TextBox where you like.
~
“This isn't right; this isn't even wrong." Wolfgang Pauli, commenting on a physics paper submitted for a journal
modified 21-Aug-13 3:03am.
|
|
|
|
|
|
BillWoodruff wrote: The simple way to achieve a combination of Button(s) and TextBox, in one nice package, is to create a UserControl, Or just put them both in a Panel ?
/ravi
|
|
|
|
|
Good point, Ravi. I tend to make UserControls, perhaps because it's become "natural" for me to do so, and, if I create something with multiple controls wired together, interacting, etc., that's often something that I will want to re-use in the future, in other applications, which is so easy if it's a UserControl.
yours, Bill
~
“This isn't right; this isn't even wrong." Wolfgang Pauli, commenting on a physics paper submitted for a journal
|
|
|
|
|
Agree 100% for reuse.
/ravi
|
|
|
|
|
I started to answer that one, stating it could not be done, then decided that someone may actually be able to do it. I'm glad to have that clarified. The usercontrol seemed a natural solution but not what the OP was asking for.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
I'm trying to add folder images to my treeview component. I have looked at some examples but cannot quite understand the process.
I think I have to start with setting my images resources in an ImageList object right? I'm not sure how to do that.
Then as I build my treeview, how do I detect a folder from a file and if a folder, set an image to it to display a folder?
Thanks for any help.
|
|
|
|
|
I suggest you move this question to the QA forum, and tag it so we know exactly what you are working with: C#, WinForm, or whatever. Also, please indicate if you are using the standard Microsoft TreeView, that's part of Visual Studio, or, if not, what control You are using.
There are many resources already here on CodeProject demonstrate enumerating a drive/directory structure recursively, and setting TreeNode images: did you search ?
yours, Bill
~
“This isn't right; this isn't even wrong." Wolfgang Pauli, commenting on a physics paper submitted for a journal
|
|
|
|
|
(1) I searched outside of this forum but I will search inside and see what I can find.
(2) I don't see a way to move a topic? I don't see a Move button or link. I'd be glad to move this to QA if I can see how to do that.
Thanks...
|
|
|
|
|
Hi,
The simplest way is to just copy your OP, paste it in a text-editor so you don't accidentally lose it, delete the question here, and then post a new question on QA, paste in the previous question, and then select the appropriate tags.
If you do search CP, I think you'll find existing articles, and answers to other questions, will give you what you need quickly. If you get "stuck," I, and I am sure others, will respond on QA.
yours, Bill
~
“This isn't right; this isn't even wrong." Wolfgang Pauli, commenting on a physics paper submitted for a journal
|
|
|
|
|
The Delete link is disabled so I can't delete it to move it.
I did a search and 'figured out' that I could populate the imagelist property in my treeview with my needed images. I have a brown folder for directories and a green folder for files but in my code below, the folders don't get the brown folder icon and the one file does not get the green folder!
I thought after I understand finally that the index into the images could be used to set the folder icon. Below in directory loop I'm setting 0 index which has the brown folder and the loop below that one is for files and I set index 1 which is the second green folder image.
foreach (var directory in directoryInfo.GetDirectories())
{
var childDirectoryNode = new TreeNode(directory.Name) { Tag = directory };
currentNode.Nodes.Add(childDirectoryNode);
currentNode.ImageIndex = 0;
stack.Push(childDirectoryNode);
}
foreach (var file in directoryInfo.GetFiles())
{
currentNode.Nodes.Add(new TreeNode(file.Name));
currentNode.ImageIndex = 1;
}
|
|
|
|