03-07-2006 10:19 AM
03-08-2006 09:43 AM
To MrBean -
Using the sequence editor User Management window, you can set the property flag on the user to make the user hidden. This would prevent the user from being list in the sequence editor unless the station option was set to show hidden properties.
The login dialog box is called by the <TestStand>\Components\NI\Callbacks\FrontEnd\FrontEndCallbacks.seq file. The LoginLogout sequence has a Login step that calls the LoginUser function in the <TestStand>\Components\NI\Callbacks\FrontEnd\frontend.dll. If you customized that DLL and placed it in the <TestStand>\Components\User\Callbacks directory, TestStand will use it instead of the NI copy. Currently the ring control lists all users even those that are hidden. You could change it to exclude hidden users.
03-08-2006 09:52 AM
03-08-2006 10:07 AM
03-08-2006 10:15 AM
03-08-2006 12:12 PM
03-08-2006 10:58 PM
To MrBean -
I looked at the code in login.c for the DLL I mentioned. I have to correct my previous reply. Sorry about that. You may have seen that the source file calls the Engine function TS_EngineDisplayLoginDialog which displays the valid users in an Engine dialog box. So you would have to replace this function with your own dialog that prompts the user for a login name. You could just let the user type one without giving them a list. Or you could ask the engine for a list of users using Engine.UsersFile and then UsersFile.UserList which returns an array of User objects. On each User object you would have to call AsPropertyObject.GetFlags to see if the bit PropFlags_Hidden was set or not. You could also just exempt specific names if you wanted also. In the end you could generate your own list and display in a combo box on a modal dialog to the user.
Dennis is right that the callback is used for whatever OI you are using. The DLL happens to be written with CVI, but you could use LabVIEW if you wanted.