private void CustomSelectSource_Load(object sender, EventArgs e) { sourceSelected = false; DTWAIN_ARRAY SourceArray = 0; TwainAPI.DTWAIN_EnumSources(ref SourceArray); int nCount = TwainAPI.DTWAIN_ArrayGetCount(SourceArray); if (nCount <= 0) { Close(); } // Display the sources DTWAIN_SOURCE CurSource = 0; for (int i = 0; i < nCount; ++i) { StringBuilder szName = new StringBuilder(256); TwainAPI.DTWAIN_ArrayGetAtLong(SourceArray, i, ref CurSource); TwainAPI.DTWAIN_GetSourceProductName(CurSource, szName, 255); listSources.Items.Add(szName.ToString()); } listSources.SelectedIndex = 0; // Display Info about sources string sText = nCount.ToString() + " TWAIN Source(s) Available for Selection"; editSourceInfo.Text = sText; }